Skip to main content

Full text of "Byte Magazine Volume 02 Number 02 - Usable Systems"

See other formats


FEBRUARY 1977 VOLUME 2, Number 2 



$1.50 




the small systems journal 









NEWS 



More Memory-Same Price 
4K Now Standard In 6800 



San Antonio— The SwTPC 6800 computer system, always a best buy is now an 
even greater bargain. Price reductions by ths manufacturers of MOS memory cir- 
cuits have made it possible to now offer the standard $395.00 6800 computer kit 
with 4K of memory instead of 2K as previously. Memory circuits are 21L02 types 
which make possible powering up to 24K of memory in the stock chassis with the 
standard power supply. 

The Southwest Technical 6800 at $395.00 includes everything needed to work 
with your terminal. You get 4K of static MOS memory and a serial interface as 
part of the basic package. These are not extra cost options (?) as in many com- 
puter systems on the market. 



8K MEMORY CARDS 
ANNOUNCED - 

For those 6800 systems needing the 
maximum possible amount of memory, 
Southwest Technical Products announ- 
ces 8K memory cards. These memory 
expansion cards have 8K Bytes of low 
power MOS memory per board. These 
kits feature the new 4K static RAMS 
that are now becoming available. These 
new RAMS make it possible to put 8K 
of memory on a board without crowding 
the parts, or using small hard to solder 
connecting lines. These new memory 
boards feature DIP switch address selec- 
tion and a write protect switch on each 
board. 

The low power consumption of this 
new memory board makes it possible to 
use up to 48K of memory in the stand- 
ard 6800 chassis with the stock power 
supply. Priced at $250.00 these mem- 
ory cards cost no more than less dense 
memories from other sources. 



PRICES CUT ON 
4K MEMORIES 

Southwest Technical Products has re- 
duced the price of its standard 4K mem- 
ory card by 20%. These cards use low 
power 21L02 static memories. The new 
price for the MP-M memory kit is 
SI 00.00 for a full 4K kit. 

This kit contains 4K of memory with 
full buffering and dual on-board voltage 
regulators. Six of these memory cards 
may be used in a standard 6800 chassis 
to provide 24K of memory for the 
system. Memory now becomes even 
more of a bargain-24K for only $600.00. 

Who Needs It? 

We continue to get reports from custo- 
mers who are amazed at the ease of 
assembly of the 6800 computer. One 
reports that he purchased test equip- 
ment before ordering a computer at the 
advice of friends who owned brand "X" 
machines. His total use of the test equip- 
ment was zero (0) when he installed 



each board in the 6800 and they all pro- 
ceeded to work perfectly the first time. 
He later found in comparing notes with 
other 6800 owners that his was not a 
unique experience. 

People who have built most of the vari- 
ous types of computers on the market 
generally agree that our instructions are 
the best and most complete. So don't 
worry about purchasing the least ex- 
pensive computer system, there are still 
good honest values being offered in the 
world of personal computing. 

SUPER SOFTWARE 

"Lack of Software" can no longer be 
used as an excuse by those who have the 
poor taste to purchase computers using 
older, less elegant processors than the 
MC-6800. Southwest Technical Products 
has not only editor-assembler and game 
programs available for the 6800, but also 
both 4K and 8K BASIC. 

The ability to run ANSII standard 
BASIC programs on the 6800 make the 
enormous number of BASIC programs 
out there aU usable on the SwTPC 6800. 
That's right, you can run anyones BASIC 
programs on the 6800 provided they are 
written in standard BASIC (as most are). 
4K Basic at $4.95 and 8K BASIC at 
$9.95 are inexpensive enough for any- 
one to own. They do not cost hundreds 
of dollars as in some systems, or only 
become available when combined with 
purchase of huge amounts of memory as 
in others. 

Loading even a relatively long program 
such as 8K BASIC into your SwTPC 
6800 is not a long procedure when the 
AC -30 cassette interface is used. This 
super reliable and inexpensive ($79.95 
complete with cabinet and power supply) 
cassette interface uses the "Kansas City" 
standard format and will load 8K BASIC 
in approximately five minutes. 




SOUTHWEST TECHNICAL PRODUCTS CORPORATION 

219 W. Rhapsody 

San Antonio, Texas 78216 




4 MHz 2PU card 




4K RAM card 



Now your best choice 

in CPU cards can have 

a really- expandable memory 



LIKE TO A HALF MEGABYTE 

You probably know our Z-80 CPU card. It's the 
finest and most powerful card available. Not only 
does it have a guaranteed speed of 4 MHz and a 
crystal-controlled 2/4 MHz clock rate, it also has 
a power-on memory jump feature that greatly 
simplifies starting-up. 

Now we've developed an outstanding 4K RAM 
memory card for this CPU card (or for any S-100 
bus CPU card). Our new Model 4KZ is a static 
memory that has: 

(1) a guaranteed speed of 4 MHz 

(2) a memory-bank-select feature. 

As you would expect with a Cromemco product, 
this new Model 4KZ gives you advanced perform- 
ance at low cost. It achieves its 4 MHz speed 
while using proven, reliable, low-power memory 
chips (21L02's). How? By a novel design that uses 
address anticipation. 

ENORMOUSLY EXPANDABLE 

You get staggering expandability in the new 
4KZ — to 51 2 kilobytes if you'd like. 



Here's how: with the 4KZ you can organize 
memory into as many as 8 banks of 64K bytes 
each. 

Then an 8-position switch on the 4KZ selects a 
given bank. 

With memory expandability like that, Cromem- 
co's CPU and RAM cards are the basic hardware 
for a broad range of jobs — even jobs that until 
now were only for large computers. 

LOW PRICED 

The new 4KZ has the high quality Cromemco is 
known for. It is available at computer stores — 
or directly from the factory. 

Just a word of caution. The 4KZ is bound to be 
in demand, so we suggest you act promptly. 

4K Static RAM Memory kit (Model 4KZ-K) . . $195 
4K Static RAM Memory assembled, 

burned-in and tested (Model 4KZ-W) $295 

ZPU card kit (Model ZPU-K) $295 

ZPU card assembled, burned-in 

and tested (Model ZPU-W) $395 



rjl Cromemco 



incorporated 
Specialists in computers and peripherals 
2432 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400 



In This BUI 




page 34 



The computer was created to free 
mankind from the drudgery of doing 
tiresome chores best left to an auto- 
maton. In most computers, there is 
an extremely helpful monitor program 
such as the SYS 8 program avail- 
able in versions by IMSAI and Proces- 
sor Technology. Sometimes, the 
writers of such programs leave the user 
with a few residual chores to do, like 
entering line numbers for each com- 
mand or operation. Bill Nico wasn't 
satisfied with that, and proceeded to 
patch in an automatic line numbering 
feature for SYS 8, described in his 
article on Sweet Auto Line. 

A key component of a usable sys- 
tem concept is the mass storage sub- 
system. In this issue, Jack Breimeir, 
one of the engineers on the Phi-Deck 
design, and Ira Rampil of the Univer- 
sity of Wisconsin begin a two part 
article on The Digital Cassette Sub- 
system. In part 1 you'll find some 
background information on digital 
recording, and details of the problem 
of head interface electronics for digital 
recording. 

Mass storage is the critically impor- 
tant component of a personal com- 
puting system which is often passed up 
on grounds of price or complexity. 
People tend to have preconceived ideas 
that a controller which is a compli- 
cated technological nightmare will 
double the price of a drive alone. 
However, demonstrations of accom- 
plishment arc a way to dispel precon- 
ceived biases. Dr Kenneth B Welles 
shows in his article on the Economy 
Floppy Interface that buying just a 
couple of drives and building a rela- 
tively inexpensive homebrew control- 
ler can give anyone the advantages of 
over 200 K bytes on line per drive. His 
circuit takes just 17 common inte- 
grated circuits (one of which is an LSI 
communications processing device). 



Color television interfaces are start- 
ing to become popular. However, not 
everyone has a color television sitting 
around idly. Is it possible to have a 
color terminal and not have to use a 
color television set? Subjective color is 
a possibility that is explored by Steve 
Bain in his article Color Displays on 
Black and White Television Sets. Read 
Steve's article and find out how you 
too may be able to add a color 
modulation effect to a black and white 
television set. 

Serial storage media are widely used 
in low cost computer systems. They 
range in performance from paper tape 
through cassette tapes with manual 
controls to high performance program- 
mably controlled cassettes, tape car- 
tridge drives and full industry standard 
magnetic tape drives. Find out some of 
the background information pertinent 
to use of most magnetic tape serial 
media in Brian D Murphy's article, 
Serial Storage Media: An Introduction 
and Glossary. 

Human interactions with computers 
go both ways. For computer outputs, 
most people think in terms of visual 
displays. This completely ignores the 
use of other senses like hearing (or 
touch or smell for that matter). In 
Audible Interrupts for Humans, 
Charles F Douds describes a simple 
circuit which can lake advantage of 
the audio channel of the human 
system. 

Here you are, a novice or experi- 
enced flier, cruising along in your an- 
cient Cub under VFR conditions when 
... all of a sudden, VFR becomes IFR 
and you can't see. If you had an inex- 
pensive Omega navigation system in a 
portable package in your copilot's 
seat, you'd at least know where you 
are on the map with an accuracy of 
about I mile. In his article Cub 54, 
Where Are You? (Or How to Navigate 
Using Mini-O), Ralph Burhans begins a 
multiple article discussion on Omega 
navigation, design of an Omega 
receiver for use with a small computer 
as a personal navigation system, and 
software for determination of position 
information. Aviation enthusiasts and 
boating enthusiasts who are into 
microcomputers will be able to use 
this information to help make an 
experimental robot navigator. 



Is it an impossible dream? Is it 
conceivable to make an audio cassette 
10 port with only a single bit line in 
each direction? Well, if you ignore the 
need for connecting wires, clipping 
diodes and isolation capacitors, then 
you can use a "hardwareless" software 
technique such as that described in 
Daniel Lomax's The Impossible Dream 
Cassette Interface. 

Most of today's microprocessors 
have all of their functions centralized 
without a single device. The F8 micro- 
processor by Fairchild Semiconductor 
is unique in that it divides the system 
functions among several basic circuits. 
In his article, Microprocessor Update: 
The F8 System, Robert Baker de- 
scribes this rather unique way of ap- 
proaching the development of a micro- 
processor system. 

Upon receiving that first micro- 
processor, the budding computer 
hobbyist is often confronted with dis- 
dainful stares and must endure such 
comments as, "Well now, let's see it do 
something." If you have a Moto- 
rola 6800 based system with 
MIKBUG, John Rathkey's article, A 
MIKBUG Roadmap . . . , will aid you 
in getting your system to "do some- 
thing" that will satisfy even the most 
doubting of your critics. 

In several manufactured products 
which have been appearing lately, a 
hexadecimal input keyboard is one 
feature of the computer processor. 
Joseph Hoegerl describes how this sort 
of Calculator Keyboard Input for the 
Microcomputer can be wired up and 
used to replace toggle switches. His 
version is for an 8008 system, but the 
same hardware is applicable to other 
computers as well. 

If you are interested in designing 
your own TTL circuits you should 
be aware that there is a definite 
limit to the number of gates that 
can be interconnected. In TTL 
Loading Considerations Greg 

Tomalesky explains how these 
limits are determined by circuit 
designers and gives advice on what 
pitfalls to watch out for when 
designing your own TTL circuits. 

Charles Howerton has come up 
with an interesting and lightly coded 
package of 8080 routines lo perform 
utility functions for applications soft- 
ware. The design goals of filling into 
256 bytes yet providing a wealth of 
extensions to the machine's instruc- 
tion set are well met, as can be seen 
from his article's documentation of 
the package. 



In the Queue 



FEBRUARY 1977 

Volume 2 
Number 2 KITE 



12 
34 
54 
82 
104 
132 

24 
44 
50 
62 
88 
96 
122 



Foreground 



SWEET AUTO LINE 

Software — Nico 
BUILD THIS ECONOMY FLOPPY DISK INTERFACE 

Mass Storage Systems — Welles 
AUDIBLE INTERRUPTS FOR HUMANS 

Human Interfaces — Douds 
THE IMPOSSIBLE DREAM CASSETTE INTERFACE 

Mass Storage — Lomax 
CALCULATOR KEYBOARD INPUT FOR THE MICROCOMPUTER 

Hardware — Hoegerl 
ADD SOME BARC TO YOUR 8080 

Systems Software — Howerton 



Background 



THE DIGITAL CASSETTE SUBSYSTEM, Part 1 

Hardware — Rampil-Bremeir 
COLOR DISPLAYS ON BLACK AND WHITE TELEVISION SETS 

Visual Perception Tricks — Bain 
SERIAL STORAGE MEDIA: Introduction and Glossary 

Systems Software — Murphy 
CUB 54, WHERE ARE YOU? (Or How to Navigate Using Mini-O) 

Applications — Burhans 
MICROPROCESSOR UPDATE: THE F8 SYSTEM 

Processors — Baker 
A MIKBUG ROADMAP . . . 

Software — Rathkey 
TTL LOADING CONSIDERATIONS 

Hardware — Tomalelsky 



Nucleus 



2 




In This BYTE 


4 




An Idea Whose Time Has Come! 


11 




Letters 


32 




Ask BYTE 


60, 


111, 




118, 


128 


What's New? 


86 




Baker Street Irregular 


100 




Classified Ads 


102 




Description: A Multi Cassette Controller 


108 




Clubs, Newsletters 


112 




Book Reviews 


119 




BYTE's Bugs 


121 




Further Notes on Bar Codes 


124 




Kil O'Byte 


126 




BYTE's Bits 


144 




The Word "Byte" Comes of Age . . . 


146 




About the Cover — Venus de Plotto 


160 




BOMB 


160 




Reader's Service 



BYTE magazine is published 
monthly by BYTE Publica- 
tions Inc. 70 Main St, Peter- 
borough, New Hampshire 
03458. Subscription rates are 
$12 for one year, $22 for two 
years, $30 for three years in 
North America. Second class 
postage paid at Peterborough, 
New Hampshire 03458 and at 
additional mailing offices. 
Phone 603—924-7217. Entire 
contents © copyright 1977 
BYTE Publications Inc, Peter- 
borough NH 03458. All rights 
reserved. Address editorial cor- 
respondence to Editor, BYTE, 
70 Main St, Peterborough NH 
03458. Opinions expressed by 
authors are not necessarily 
those of BYTE magazine. 



PUBLISHERS 

Virginia Peschke 

Manfred Peschke 

EDITOR 

Carl T Helmers Jr 

PRODUCTION MANAGER 

Judith Havey 

CIRCULATION MANAGER 

Manfred Peschke 

ASSISTANT PUBLISHER 

Debra Boudrieau 

CO-OP EDITOR 

Raymond G A Cote 

PRODUCTION EDITOR 

Karen Gregory 

DEALER CIRCULATION 

Deena Zealy 

CIRCULATION 

Kimberly Barbour 

Cheryl Hurd 

Anne Jackson 

Deborah R Luhrs 

Carol Nyland 

ADVERTISING 

Elizabeth Alpaugh 

Virginia Peschke 

ART 

Matthew Arnold 

Noreen Bardsley 

Mary Jane Frohlich 

Lynn Malo 

Bill Morello 

SPECIAL PRODUCTS 

Susan Pearne 

Floyd Rehling 

TYPOGRAPHY 

Custom Marketing Resources Inc 

Goodway Graphics 

Mary Lavoie 

Taimi Woodward 

PHOTOGRAPHY 

Ed Crabtree 

Custom Marketing Resources Inc 

PRINTING 

The George Banta Company 

Custom Marketing Resources Inc 

Lennie Cashion 

Larry Davis 

Jeff Pratt 

ASSOCIATES 

Bob Baker 

Walter Banks 

Dan Fylstra 

Portia Isaacson 

Harold A Mauch 

TRAFFIC MANAGER 

Peter Travisano 



Guest Editorial 



This month, for the first time, we run a guest editorial. The writer of this 
essay is Portia Isaacson, who is chairperson of the 1977 National Computer 
Conference which will be held in Dallas TX June 13-16 1977. (The conference 
this year for the first time recognizes Ihe existence of our new trend in 
computing, personal computing, by creating a special theme for that purpose 
and taking the unprecedented step of adding a special exhibit hall for 
personal computing displays.) Here is an interesting view of the history and 
state of personal computing by an individual who has been enthusiastically 
participating right from the start. Portia is a professor of computer science at 
the University of Texas at Dallas and a principal in the Micro Store, a retail 
computer outlet located at 634 5 Central Expressway, Richardson TX 750S0, 
which is run by her husband David Wilson. 



Personal Computing: 



An Idea Whose Time Has Come! 



Portia Isaacson, PhD 
University of Texas at Dallas 
Richardson TX 75080 



It is clear that we are en- 
tering a dramatic new era 
in which information pro- 
cessing power will be 
abundantly available for 
use by the individual con- 
sumer... 



Several years ago wc knew that com- 
puters were going to become very small and 
very inexpensive. However, predictions of the 
effect of inexpensive computers did not 
begin to cover the strength of today's 
personal computing movement, where we 
find enthusiasm at a very high pitch. It is 
clear that we are entering a dramatic new era 
in which information processing power will 
be abundantly available for use by the 
individual consumer. 

The only thing one could be sure about 
during the past year when writing about the 
personal computing movement is that by the 
time the article was printed it would cer- 
tainly be antiquated. Every month there are 
several new computer clubs, several new 
computer stores, hundreds more computers 
owned by individuals, and a noticeably 
higher level of excitement among insiders to 
the movement. To most of us the whole idea 
of personal computing is so delightfully 
intoxicating that we can't quite believe its 
time has really come — but it has! 

The personal computing movement 
started quietly enough when MITS an- 
nounced a computer kit for under $500. 
Soon afterwards kits were available from 
several different manufacturers featuring the 
computer, a keyboard, a TV display inter- 
face, audio cassette interface, and the BASIC 
language; all for little more than $1,000. 
Wow! A really operational system for about 
the price of a good TV or stereo — clearly in 
personal range. So the hardware and BASIC 



software were available. The other needed 
ingredient was imagination. 

There was no shortage of imagination. In 
fact, almost everyone who has ever worked 
with a computer has, at some time or 
another, been stricken with computeritis — 
the infection of the imagination with ideas 
about "what neat things could be done with 
a computer if only I had access." For years 
we've known that students many times 
substitute the computer center for other 
forms of recreational activity. Also, that 
many programmers can be found in the wee 
hours with their company computer, doing 
their own thing. 

Applications of a personal computer are 
as far ranging as the individuals who imagine 
them. Personal accounting, music genera- 
tion, library maintenance, language analysis, 
stock market analysis, game playing, model 
train control, household control, and tutor- 
ing are only a few of the known applica- 
tions. The computer has few inherent 
limitations. 

A "movement" can be characterized by 
the people involved. What kinds of people 
are "into" personal computing? And how 
many? Based on the circulation of the major 
personal computing publications and the 
attendance at conventions, 100,000 is surely 
a very conservative estimate of the rapidly 
growing number of involved people. What 
are these people like? True, at first, they 

Continued on page 140 



Introducing Sol Systems 



A complete computer/terminal 
concept with all the 
standard features, software 
and peripheral gear you 
want in your 
personal computer. 



^B 




o-*\ 



m 




>?■> 



■■M 



■M 






■■■■ 




UTinm.ll c.omlmler 



*Z*fAA 



£&%«mm 





^<f^y^ 



J ■■'■.;/■ " '^"^ 



l^ 



^ iniiii yji <ii ^ 



jmrnmim™ 



Sol Systems put it all together. 

One source for hardware and software 

One source for 

engineered compatibility 

of computer and peripherals. 

That's the Sol plan. 



Though the microprocessor made the 
powerful small computer possible, a lot of 
folks found out early efforts in the market- 
place were selling the sizzle a lot more than 
the steak. After an initial investment of sev- 
eral hundred dollars, you ended up with 
some nice parts, but no memory of any kind, 
no I/O devices or interfaces, no display, print- 
out or software. 

The Sol plan ends all that. Processor 
Technology takes the position that it's far 
better to be right than first. So let's get down 
to the Sol no tricks plan. 

For $995 in kit form, the first complete 
small computer 

Standard is a basic word at Processor 
Technology. The Sol-20 has more standard 
features than any other small computer we 
know of. Here's what you get. 

8080 microprocessor* 1024 character 
video display circuitry* 1024 words of static 
low-power RAM* 1024 words of prepro- 
grammed PROM* a custom, almost sensual 
85-key solid-state keyboard* audio cassette 
interface capable of controlling two record- 
ers at 1200 baud* both parallel and serial 
standardized interface connectors* a com- 
plete power supply* a beautiful case with 
solid walnut sides* software which includes 
a preprogrammed Prom personality module 
and a cassette with Basic-5 language plus 
two sophisticated computer video games* 
the ability to work with all S-100 bus 
(Altair 8800/IMSAI/PTC) products. 

There are no surprises. Everything 
you need to make it work is here. In kit 
form, nominal assembly time from our fully 
documented instructions is four to seven 
evenings. 

Or start with the Sol-PC for just $475 

You can begin your Sol system with the 
all on one board Sol-PC kit. It has all the 



memory and interface electronics including 
video display, keyboard interface, audio 
cassette interface, all necessary software 
and the ability to accept the full Processor 
Technology line of memory and interface 
modules. Use the Sol-PC as the basis of a 
microcomputer, low cost CRT terminal or 
editing terminal 

And these specs are standard 

Display: 16 lines of 64 characters per line. 
Character set: 96 printable ASCII upper 
and lower case characters plus 32 select- 
able control characters. 
Display position: Continuously adjustable 
horizontally and vertically. 
Cursor: Selectable blinking. Solid video 
inversion. Programmable positioning standard. 
Serial interface: RS-232 and 20-mA current 
loop, 75 to 9600 baud, asynchronous. 
Parallel interface: Eight data bits for input 
and output; output bus is tristate for bidirec- 
tional interfaces; levels are standard TTL. 
Keyboard interface: Seven-level ASCII 
encoded, TTL levels. 

Microprocessor: 8080, 8080A, or 9080A. 
On-card memory: 1024 bytes PROM (ex- 
pandable to 2048 bytes), 2048 bytes RAM. 
External Memory: Expandable to 65,536 
bytes total ROM, PROM, and RAM. 
Video signal output: 1.0 to 2.5 volts peak- 
to-peak. Nominal bandwidth is 7 MHz. 
Power required (±5%): +5 volts at 2.5 
amperes, +12 volts at 150 mA, and —12 
volts at 200 mA. 

The Sol plan, completely expandable. 

By filling the basic main frame with 
tailor made Processor Technology plug-in PC 
boards, you can really expand the computing 
power and flexibility of your Sol-20 Personal 
Computer. 

New items are being announced fre- 
quently, but right now, here are some of the 



things you can add to your Sol-20. The 
ALS-8 Firmware module is an assembly 
language operating system to give you the 
power to develop and run programs. Use 
it to quickly write, edit, assemble, de-bug 
and run your own programs. Some say it's 
the most useful software development on the 
market today, but modesty prohibits. 

And when it comes to add-on memory 
boards, you've come to the right place. 
We've probably got more than anyone else. 
Choose from 2K ROM or 4, 8 or 16K RAM 
(read all about the 16KRA board on the last 
page of this ad). The PT 2KRO will accept 
up to eight 1702 A or 5203Q erasable, 
reprogrammable memories (EPROM's) with 
the ability to store in a non-volatile fashion 
up to 2048 eight-bit words. 

Our read/write memories are the 
industry standards for high reliability. We 
know, because we have literally scores of 
customer letters saying "Your memory 
modules work and keep on working." 

To help you solve additional interfac- 
ing problems, add the 3P+S I/O module. 
Here's a board with two 8-bit parallel I/O 
ports with full handshaking logic and a serial 
data rate that can be set anywhere between 
35 and 9600 baud. Set up control conditions 
for both parallel and serial ports. Data and 
error flags can be polled. 

A full line of Sol-20 tailored peripherals 

No computer can do the full job with- 
out the right set of peripheral gear. PT has 
sought out the best manufacturers of periph- 
eral equipment and worked with them to 
give you a choice of quality so you can get 
the most out of your Sol-20. Choose from 
line and serial printers, perforated tape 
readers and punches, floppy disk memories, 
black and white or color graphics displays, 
A/D, D/A converters and more. 

Software, the Computer 
Power Essential 

A big part of making the first complete 
small computer is providing you with a wide 
range of easy to use, easy to obtain, low cost 
software. For the Sol-20, we've developed a 
whole group of offerings. And more are on 
their way. 

TREK 80 

Based on the NBC television series 
STARTREK, this 8K assembly language pro- 
gram uses the VDM graphics capability for 
real time war with the Klingons. No holds 



barred, they're out to get you from each of 
the 100 quadrants. TREK 80 resides and 
runs in 8K of memory and requires the PTC 
Sol or VDM- 1. 

New PT 8K Basic 

Processor Technology has the fast new 
BASIC you've needed for so long. Using our 
superior BCD math, the speed of the new 
language is double that of our own fast 
BASIC-5. To multiple program capability, 
we've added strings, multidimensional arrays 
and multi-line, multi-variable, user functions. 
This is the BASIC for full capability systems. 
Look at the BUSINESS ANALYSIS program 
example in the manual to find out how PT 8K 
BASIC gives you more while using less 
memory for the working program. 

Five reasons why it's so good 

1 . Strings are not limited to a length of 256 
characters and can extend to the bounds 
of memory. 

2. Renumbering of lines with full gosub, etc. 
updating. Also EXAM and FILL allow for 

d i rect memory operations wh i le IN and OUT 
provide direct I/O capability. 

3. Every statement is fully implemented. 
RESTORE, for instance, restores the data 
pointer as usual. BUT, with PT 8K BASIC, 
RESTORE 100 will set the pointer to the 
data located at line 100. 

4. Fully implemented string and math func- 
tions include all of the standards — VAL, 
STR, ASC .... EXP and LOGI and LOG. Also, 
the more advanced statements such as ON- 
GOTO and IF THEN ELSE along with a loop 
EXIT are provided. 

5. PT 8K BASIC has a 'perfect' implemen- 
tation of PRINT USING which saves program 
memory space while still providing more 
capability than the usual PRINT USING. 

The new PT 8K BASIC is similar to the 
version we're developing for ROM. You use it 
here before buying the more expensive ROM. 

You'll find your PT 8K BASIC also 
includes both a built-in VDM driver and 
special editor. The cassette version also 
includes named program SAVE and LOAD for 
the CUTS Cassette interface or Sol. 

New 8080 FOCAL ™ DEC 

8080 FOCAL has been updated to 
include operator precedence and all other 
standard FOCAL conventions. It also has a 
driver for VDM-1 display and PT Cassette 
program SAVE and LOAD This version is 
available only on CUTS Cassette and resides 
in 8K of memory. 



GAMEPAC 1 to entertain family and friends 

Show off your VDAA-1 and computer 
with this lineup of video games. Each 
is included on the cassette or paper tape. 

TARGET keeps track of your hits and 
misses while you blast away at the moving 
target. You and your family can get together 
for whole evenings at a time with this one. 

ZING. Learn hexidecimal arithmetic 
fast with this VDAA game as two players keep 
the five balls in the air. If both of you get too 
good . . . ZING, of course, will make it harder. 

LIFE. The Sol or VDAA makes a good dis- 
play for the game of life and this version 
allows two modes of operation. The universe 
can be flat or wrapped around on itself. 
The real meaning of life we'll leave to you 
but it's fun to watch. 

PATTERN. We haven't figured this one 
out ourselves but it's sure nice to have your 
computer doing it. You choose the geometric 
design and how rapidly it changes. 

Sol Systems Price List 

(prices are net, effective Dec. 1, 1976) 



SOFTWARE 

ITEM with manual 

BASIC 5 software 

#2 
8K BASIC 
New 8080 Focal 
TREK 80 video 

game 
GAMEPAC 1 

video games 
MATH PACK video 

calculator 
ASSEMBLER 

software #1 
ALS 8 



CUTS Paper 

Source cassette tape 



yes ** $19.50 

no $29.00 $37.00 

no $14.50 N/A 

no $ 9.50 $14.50 

no $ 9.50 $14.50 

yes $14.50 $19.50 

yes $14.50 $19.50 

no $35.00 $45.00 



"CUTS cassette of BASIC 5 is included FREE with all orders for Sol 
units or CUTS cassette interfaces. Additional cassettes available 
for $14.50. 



Sol system owners be sure to note Sol 
system on your order. These special versions 
use less code and provide easier loading 
along with more convenient operation. 
SOLOS, SOLED and CONSOL all have provi- 
sion for the special versions. 

All Processor Technology software is 
distributed on an individual sale basis for 
personal use. No license to copy, duplicate 
or sell is granted with this sale. Each software 
package has been copyrighted by Processor 
Technology and all rights therein are reserved. 



Sol Terminal Computers Kit Price 

SOL-PC SINGLE BOARD TERMINAL 

COMPUTER™ $475.* 

SOL- 10 TERMINAL COMPUTER™ 
Sol-PC with case, power supply 
and 70 key solid state keyboard. $795.* 

SOL-20 TERMINAL COMPUTER™ 
all features of Sol-10 with larger 
power supply, 85 key solid state 
keyboard, fan, and five slot 
expansion backplane. $995.* 

*Sol prices include CONSOL 
Personality Module. If SOLED Intelligent 
Editing Terminal Module or SOLOS Stand- 
alone Operating System Module is desired 
instead, add $100. If ordered separately, 
personality modules are $150 each. 

Memory Modules Kit Asmbid. 

ALS-8 PROM Resident Assembly 

Language Operating System — $425 

SIM-1 Interpretive Simulator 

add-on option for ALS-8 — $ 95 

TXT-2 Text Editing add-on 

option for ALS-8 — $ 95 

2KRO Erasable PROM module $ 65 $ 89 
4KRA 4096-word Low Power 

Static RAM $159 $195 

8KRA 8192-word Low Power 

Static RAM $295 $375 

16KRA 16384-word Dynamic 

RAM — $529 

Interface modules 
3P+S Parallel, Serial I/O 

module $149 $199 

CUTS Computer Users Tape 

System cassette interface $ 87 $119 

VDM-1 Video Display Module $199 $295 

Mass Storage Systems 

Helios II Disk System™ 
includes dual PerSci 270 
floppy disk drive, cab- 
inet, fan,S-100 bus compatible 
controller, power supply, sys- 
tem diskette with complete 
PTDOS software $1895 $2295 

Misc. 

EXB Extender Board $ 35 $ 45 

WWB Wire Wrap Board $ 40 — 

Prices, specifications and delivery 
subject to change without notice. Please allow 
up to two weeks for clearance of personal 
checks. Mastercharge accepted. All orders 
amounting to less than $30 must include $3 
for handling. 




New 

16K RAJ 

fully assembled, 

$529 

More bits per buck than ever before on a 
fully burned in and tested board uncondi- 
tionally guaranteed for one year. 

Processor Technology made the first 
4K static RAM modules for the home com- 
puter market. Now in a price performance 
breakthrough we offer you a 16,384 byte 
dynamic memory module assembled, tested 
and burned in. Not a kit — and at $529 
who'd want to build it from scratch? 

Processor Technology gives you the features 
to make 4K dynamic RAMS work for you. 

• Invisible refresh, no waiting while 
CPU is running. 

• High speed 400 nsec access time worst 
case Z-80 and 8080 compatible. 



Versatile addressing, each 4096 byte 
segment is individually addressed to 
any of the sixteen available 4K 
segments. 

Low power — typically 5 watts when 
running — the same as most 4K 
memory modules. 

BATTERY BACKUP capability built-in 
for standby operation. 

IMPORTANT NOTICE — No 16K 
memory module available is fully, 
truly static. 4200/4402 type "static" 
RAM's have high level, high current 
clocks with high transient power 
levels. Any RAM with 12 volt 30 mA 
clock pulses should not be called 
"STATIC" just because each memory 
cell is a flip-flop. 



Specifications 

Access Time 
Cycle Time 
Rams Used 

Capacity 
Memory 

Protect 
Addressing 

Operating 
Power 



400 nsec max 

500 nsec max 

Intel 2104 or Mostek 4096 

types 

16384 8-bit bytes 

standard on card 

each 4096 byte page 

addressable 

+ 7.5 to 10 VDC at 0.4 A typical 

+ 15to+18V at 100mA typical 

- 1 5 to - 1 8 VDC at 20 mA max 



See your nearest dealer listed below or 
contact us directly. Address Processor Tech- 
nology, 6200 Hoi I is Street, Emeryville CA 
94608, Phone 415/652-8080. 



Processor Technology Dealers 



CALIFORNIA 

The Byte Shop 
1514 University Ave. 
Berkeley CA 94703 

The Byte Shop 
2559 South Bascom Ave. 
Campbell CA 95008 
The Computer Mart 
624 West Katella#10 
Orange CA 92667 

The Byte Shop 
2227 El Camino Real 
Palo Alto CA 94306 

The Computer Center 
8205 Ronson Road 
San Diego CA 92111 

The Computer Store 
of San Francisco 
1093 Mission Street 
San Francisco CA 94103 



The Byte Shop 
509 Francisco Blvd. 
San Rafael CA 94901 

The Byte Shop 
3400 El Camino Real 
Santa Clara CA 95051 

The Byte Shop 
2989 North Main St. 
Walnut Creek CA 94596 

FLORIDA 

Microcomputer 

Systems Inc. 

144 So. Dale Mabry Hy. 

Tampa FL 33609 

GEORGIA 

Atlanta Computer Mart 
5091-B Buford Hwy. 
Atlanta GA 30340 



ILLINOIS 

The Numbers Racket 
518 East Green Street 
Champaign IL 61820 

itty bitty 

machine co., inc. 
1316 Chicago Ave. 
Evanston IL 60201 

The Chicago 
Computer Store 
517Tolcott Road 
Park Ridge IL 60068 

INDIANA 

The Data Domain 

111 South College Ave. 

Bloomington IN 47401 

MICHIGAN 

The Computer Store 
of Ann Arbor 
310 East Washington 
Ann Arbor Ml 48104 



NEW JERSEY 

The Computer Mart 

of New Jersey 

151 Kline Boulevard 

Colonia NJ 07067 

Hoboken Computer Works 

56 Second Street 

Hoboken NJ 07030 

NEW YORK 

Audio Design Electronics 
487 Broadway, Ste. 512 
New York NY 10013 

The Computer Corner 

200 Hamilton Ave. 

While Plains NY 10601 

The Computer Mart 

of Long Island 

2072 Front Street 

East Meadow, L.I. NY 11554 



The Computer Mart 
of New York 
314 Fifth Ave. 
New York NY 10001 

Synchro Sound Enterprises 
193-25 Jamaica Ave. 
HollisNY 11423 



OREGON 
The Real Oregon 
Computer Co. 
205 West 10th Ave 
Eugene OR 97401 

RHODE ISLAND 

Computer Power, Inc. 
M24 Airport Mall 
1800 Post Road 
Warwick Rl 02886 

TEXAS 

The Micro Store 
634 South Central 
Expressway 
Richardson TX 75080 



WASHINGTON 

The Retail Computer Store 
410 N.E. 72nd 
Seattle WA 981 15 

WISCONSIN 

The Milwaukee Computer Store 
6919 W. North Ave. 
Milwaukee Wl 53213 

CANADA 

The Computer Place 
186 Queen St. West 
Toronto, Ontario M5V 1Z1 

Trintronics 
160 Elgin St. 
Ottawa, Ontario 





SAVE THE COMPUTERS 
FOUNDATION? 

As a regular reader of the articles in 
BYTE magazine I have noticed the ab- 
sence of any columns on computer 
nostalgia and antique computers. An- 
tique computer interest appears to be 
growing because it is perceived in per- 
spective to and in contrast with micro- 
processors. Nostalgia discussions would 
compare old computers with micro- 
computers in the area of first cost, 
computing power, logical organization, 
speed, electricity consumption, size, 
weight, reliability, etc. 

Antique computers include the desk 
size drum and vacuum tube machines of 
the 50s, early magnetic core minis of the 
60s, and the first Wang and HP desk top 
calculators of the late 60s. The oldest 
antique computers include the Royal- 
McBce LGP-30, Bendix G-15, Burroughs 
EIOI, IBM 650, Eicon 125, Alwac, 
MonrobotVI, Univac I and II, and the 
IBM 700 and 7000 series. 

Since only a few of these machines 
were ever built, and many have already 
disappeared, there is a real danger they 
may become extinct. We can help pre- 
serve our computer heritage by publish- 
ing interesting articles on computer 
nostalgia and antique computers. 

Don Nyre 

305 Lajolla Dr 

Newport Beach CA 92663 

Only problem: You can only look at 
'em, because the power bills will be sky 
high, and who has used vacuum lubes for 
spare pans? Interested readers are urged 
to contact Don, or write up commentary 
on their favorite antiques so we can 
occasionally publish some history. 
Who'll write an account of Babbage's 
engine ' 

ARE WE SCHIZOPHRENIC 
PLUGGED-IN EXPERIMENTALISTS? 

I just scanned issue No. 14 and am 
well pleased! BYTE seems to give the 
same schizophrenic, pluggecl-in, ex- 
perimentalist joy of ham radio's old 
days before commercial (yawn) avail- 
ability of 2000 watt PEP linear ampli- 
fiers. This is the impetus, battered and 
bruised by a nasty electrical engineering 
curriculum, jaded by very large scale 
integration, which has largely failed me 
these days. 

Before I go back to working on my 



business and law school applications, let 
me give you a reason for joy: money! 
Please note the gill subscription form 
and the address label upon this sleeve. 
I'd like to buy a year's subscription for 
my friend and three years for myself. 

Jeffrey S Wilson 

POB 30113 

Parma Heights OH 44130 

The above letter was written on a 
battered BYTE wrapper. 

I DON'T LIKE YOUR PRODUCT 

Please do not send me any more 
issues of BYTE. I got the first two issues 
and did not like it. I got the impression 
the magazine was intended for computer 
hobbyists. Instead, it seems to me more 
dreary and boring than any textbook or 



trade journal today. I have been a 
computer professional for fifteen years, 
and your publication is by far the dullest 
I've seen. Let me know ifyour format or 
content changes in the future. Mean- 
while, no more issues please. 

Ray Lawrence 

120 Roseland La 

East Patchogue NY 11772 

Congratulations, Ray. You've just 
exercised your right to vote your pref- 
erances in a free market, by what you 
buy and what you don't buy. We'll 
collect our votes from the remaining 
73,000 or so people (circa January 1977 
issue) who don't seem to feel the way 
you do. 

TELE SELECTRIC CONVERSIONS? 

Recently I have a project in mind to 
build an intelligent teleprinter. The 
system will consist of a converted electric 
typewriter which will be controlled by a 
8080A microprocessor, 8 K memory and 
3 programmable IO ports which includes 
RS232 interface. The advantage of this 
teleprinter is that it can be used as a 
stand alone computer or as a computer 
terminal. 

The typewriter I intend to use is the 

Continued on page 76 



WHY WRITE ONE! 



i 



YOUR LIBRARY IS WAITING 
The much requested Volumes III and IV are ready. 
If you already have Volumes I and II you'll want 
to add these to your set. With the addition of 
Volume IV there is no reason why anyone who 
even THINKS of using a computer can't own their 
own SOFTWARE LIBRARY. You can start yours 
for less than $10 plus postage and handling. These 
programs are IMMEDIATELY executable in ANY 
computer with at least 4k. The entire Library is 
1000 pages long, chocked Full of program source 
code, instructions, conversions, memory require- 
ments, examples and much more. ALL are written 
in compatible BASIC executable in 4k MITS, 
SPHERE, IMS, SWTPC, PDP, etc. BASIC compilers 
available for 8080 & 6800 under $1 elsewhere. 

.... WHILE THEY LAST .«»* 



VOLUME I & II 
VOLUME III 
VOLUME IV 



- $24.95 each 
• $39.95 each 
■ $ 9.95 each 



i 



add $1.50 per volume for postage and handling. 

10% discounts on purchases of any three (3) 

volumes. 

volume discounts are available to qualified users & 

dealers 



VOLUME THREE 

Adv. Bus. 

Billing 

Inventory 

Payroll 

Risk 

Schedule 2 

Shipping 

Stocks 

Switch 



VOLUME FOUR 

General Purpose 

Bingo 

Bonds 

Bull 

Enterprise 

Football 

Funds 1 

Funds 2 

Go-Moku 

Jack 

Life 

Loans 

Mazes 

Poker 

Popul 

Profits 

Qubic 

Rates 

Retire 

Savings 

SBA 

Tic-Tac 



SCIENTIFIC RESEARCH 



1712-B FARMINGTON COURT; CROFTON, MD 21114 
ALSO AVAILABLE AT MOST COMPUTER STORES • 






A 



11 



How come the master of 
this machine has to be 
relegated to such a menial 
task as remembering to 
enter line numbers? 




Sweet Auto Line 



j*-au.'7c 



9W 



Willard I Nico 

DELTA t 

11020 Old Katy Rd. Suite 204 

Houston TX 77043 



I was writing a program the other day, 
using the editor and assembler provisions of 
the SYS 8 self-contained operating system. 
For the N to the ith time, I forgot to type in 
a new line number before entering the 
instruction code and got the familiar 
WHAT? response from the monitor program. 
If there was a market for WHAT?, I'd be 
rich! 

Anyway, the thought hit me like a brick, 
"How come the master of this machine has 
to be relegated to such a menial task as 
remembering to enter line numbers?" After 
all, my IMSAI is supposed to be the kind of 
a servant who doesn't mind that type of 
work. I should be free to think creatively. 
That's when I decided to put SAL on the 
payroll: my Sweet Auto Line automatic line 
numbering program. 




Origina 


ISYS8 


Modified SYS8 


SAL Patch 


READ: 
NEXT: 


LXI H,IBUF 
SHLD ADDS 
MVI E,2 
CALL IN8 


READ: LXI H.IBUF 

JMP PATCH 
BACKIN: MVI E,2 
NEXT: CALL IN8 


PATCH: SHLD ADDS 

JMP r— ,|— | 

ONOFF, 
a switch location 
with address of AUTOL 
if SAL is on, address of 
BACKIN if SAL is off 




Listing 1 : 


Change that 


thus if SAL is on the code is 




must be made to the 
SYS 8 monitor input logic 
in order to determine 


PATCH: SHLD ADDS 
JMP AUTOL 




whether or 


not the auto 


thus if SAL is off the code is 




line indexing feature is 


PATCH: SHLD ADDS 




wanted. 




JMP BACKIN 



12 



Job Description 

The first step was to decide exactly what 
was required, and I came up with the 
following list: 

1. Automatically generate a four digit 
number at the beginning of each data 
file line. 

2. Allow for selection of the increment 
of increase between line numbers. 

3. Permit manual entry of out of se- 
quence line numbers to allow program 
correction. 

4. Allow the automatic feature to be 
turned on and off as desired. 

5. Provide for selection of the beginning 
line number. 

6. Automatically disable the feature 
when an executive command is 
entered. 

After fiddling with the ideas and writing 
the program, I now have Sweet Auto Line 
working for me and I don't forget to enter 
line numbers any more. In fact, I don't 
even think about them; SAL and IMSAI do 
it for me. 

The starting point for writing the Sweet 
Auto Line program was to define exactly 
how SYS 8 handles data input from the 
keyboard. Figure 1 is a flowchart detailing 
the procedure used in this 8080 monitor and 
where my Sweet Auto Line routines are 
patched into it. The flowchart shows that 
the program does not carry out any pro- 
cessing of the input information until the 
entire line has been entered. Each character 
typed in is stored in sequential locations of 
the IBUF input buffer until the carriage 
return code (ASCII hexadecimal 0D) is 
detected. This code signals the monitor that 
input of data for the current line is 
complete. 

The monitor then examines the first 
character in IBUF to determine if it is a 
numeral. Lines beginning with one of the 
numbers through 9 are flagged as program 
lines for the current file. If the first char- 
acter in IBUF is other than a number, the 
program branches to the executive area. 

Sweet Auto Line depends on a SYS 8 
convention for proper operation: At least 
one space character must be entered after a 



C BEGIN } 



SET 

STACK 

POINTER 



CALL 
READ 



HL:- 

START OF 
INPUT 
BUFFER 



COMMAND 
ROUTINE 



N0 ! ^ 1 

) t 1 UNAUTO 

I PATCH 



ECHO AND 
COLLECT 
CHARACTER 
IN I BUFF 





SAL PATCH I 
INSERTED 
-* HERE 

r~ 1 

I SET 

CHARACTER 
COUNTER 



I 1 

1 DELETE 
CHARACTER 

I I 



BACK 
UP 



-3- 



OUTPUT 
CARRIAGE 
RETURN a 
LINE FEED 



Figure 1: Flowchart of the 
section of SYS 8 monitor 
that allows the input of a 
line of data illustrating 
where the SAL routine 
will be patched into it for 
automatic line number 
generation. 



Original SYS8 



Modified SYS8 



SAL Patch 



SYS8: LXI SP.AREA+1S 

CALL READ 

INX H 

MOV A,M 

CPI '9'+1 

JC LINE 



SYS8: 



EOR: 



CALL VALC 

CALL COMM 

CALL CRLF 

JMP SYS8 



EOR: 



LXI 

CALL 

INX 

MOV 

CPI 

JC 

CALL 

JMP 

CALL 

JMP 



SP.AREA + 18 

READ 

H 

A,M 

'9'+1 

LINE 

VALC 

UNAUTO 

CRLF 

SYS8 



UNAUTO: 



LXI 
SHLD 
CALL 
JMP 



H.BACKIN 
ONOFF 
COMM 
EOR 



Listing 2: Change in the 
original SYS 8 system that 
allows the SAL patch to 
be turned off again. 



13 



line number and executive commands do not 
allow a space as the first character. 

After automatically generating the new 
line number on the console output device 
such as a CRT, Teletype or other device, 
SAL waits for the first character to be 
typed. If that character is a space, the new 
line number is entered into the SYS 8 IBUF 
plus the space character that was typed. If 
any other character is detected, four back- 



Listing 3: Complete listing of the Sweet Auto Line program for the 
IMSAI version of SYS 8. Assembly was started at hexadecimal memory 
location E200. The addresses of monitor routines given in the Equate Table 
are for the IMSAI version of the SYS 8 program. Addresses of the output 
routine and keyboard input routine should be changed to the addresses 
appropriate for your system. Be sure to check the code given for BKSPA and 
change it if necessary to the proper code to back up your display. The 
standard SYS 8 code for this function with the Processor Technology Video 
Display Module CR T Driver software is hexadecimal 5F for underline. 

TITLE 'SWEET AUTO- LINE By Uillai-d I. Nic-o' 

automatic: line NUMBERING program 

FDR MTCROTEC 'SYS fl ' MONITOR/ASSEMBLER 
Ely UEi I lard I . N:i -n 



THE ABOVE INSTRUCTION ESTABLISHES 
THE ADDRESS AT WHICH THIS PROGRAM 
BEGINS. 



E200 


ES 


a u toe: 


PUSH 


H 


SAUE H S L REGISTERS 


E20I 


0E02 




MVI 


C y 2 


LOOP COUNTER 


E203 


21CAE2 




L X I 


H.NUMBR 


ASCI 1 LINE NUMBER STASH 


E206 


11C7E3 




LXI 


Ii. I INF 


BINARY 1 INE NUMBER STASH 


1209 


1 A 


CONVTi 


I DAX 


11 


GET BY1F 


E20A 


OF 




RRC 




ROTATE MOST SIGNIFICANT BITS 


I 2 OB 


OF 




RRC 




INTO POSITION 


E20C 


OF 




RRC 






E20II 


OF 




RRC 






E20E 


CDAAE2 




CALL 


UNPACK 


CONVERT PACKED BINARY TO ASC1T 


E2J 1 


1A 




1 11 AX 


II 


GET BYTE BACK 


E2I2 


CDAAE2 




CALL 


UNPACK 


CONVERT AGAIN 


E21S 


13 




I NX 


II 


NEXT PACKED DIGIT 


E216 


on 




hcr 


C 


COUNT LOOPS 


E217 


C209E2 




JNZ 


CONVT 


GO AGAIN IF NOT HONE 


E21A 


El 




PI IP 


H 


RESTORE REGISTERS 


E21B 


CIiOAtiB 




CALL 


KBD1N 


GET INPUT FROM KEYBOARD 


E21E 


78 




mov 


A.B 


MOVE TO ACCUMULATOR 


E21F 


32C9E2 




SI A 


SAVE 


SAVE KEYBOARD INPUT 


E222 


FE20 




CPI 




WAS INPUT A 'SPACE"' 


E224 


C24EE2 




JNZ 


ABORT 


NO! A LINE FOR FILE IF NOT 


E227 


0E04 




MVI 


C.I 


OK 111 GO, DIGITS IN LINE NUMB 


E229 


11CAE2 




LXI 


D.NUMBP 


SET 10 LINE NUMBER STORAGE 


E22C 


] A 


1 0OP2! 


LDAX 


It 


Gil DIGIT 


E22D 


77 




MOV 


MiA 


PUT 11 IN INPUT BUFFER 


E22E 


13 




INX 


II 


SET UP FOR NEXT DIGIT 


E22F 


23 




INX 


H 


NEXT INPUT BUFFER LOCATION 


E230 


on 




IlCR 


C 


COUNT THE DIGIT 


E231 


C22CE2 




JNZ 


EDGE" 1 


LOOP IF NOT DONE 


E234 


ES 




PUSH 


H 


SAVE H i L REGISTERS 


E235 


0E02 




MVI 


C . 2 


SET III' COUNTER 


E237 


11C8E2 




LXI 


II.EINE + 1 


SET TO PACKED NUMBER STORAGE 


E23A 


21CFE2 




LXI 


H.INCR+1 


SET TO INCREMENT VALUE 


E23D 


AE 




XRA 


A 


CLEAR CARRY 


E23E 


I A 


L00P1! 


EH AX 


II 


GET PACKED NUMBER 


E23F 


3E 




A DC 


M 


AIIII IN INCREMENT VALUE 


E240 


27 




IiAA 




ADJUST FOR DECIMAL 


E241 


12 




STAX 


n 


STORE NEW VALUE 


E242 


on 




ncR 


C 


COUNT IT 


E243 


IB 




ncx 


n 


NEXT PACKED DIGIT 


E244 


2B 




ncx 


H 


NEXT INCREMENT VALUE 


E245 


C23EE2 




JNZ 


LOOPl 


DO NEXT IF C NOT AT ZERO 


E248 


El 




POP 


H 


RESTORE H 8 1. REGISTERS 


E24? 


1E06 




MVI 


E.4 


TELL MONITOR 5 CHARACTERS 


E24B 


C35BE2 




JMP 


DONE 


GO FINISH 


E24E 


0E04 


abort: 


MVI 


C.4 


NOT A PROGRAM LINE. ERASE 


E250 


0608 


L00P4I 


MVI 


Br BKSPA 


LOAIc BACKSPACE CODE 


E252 


CII00E0 




CALL 


CRTOIJT 


BACK UP LINE NUMBER ON CRT 


E255 


on 




iicr 


C 


COUNT IT 


E256 


C250E2 




JNZ 


L00P4 


LOOP IF NOT DONE 


E259 


1E02 




MVI 


E.2 


TELL MONITOR ABOUT INPUT CHAR. 


E25B 


3AC9E2 


done : 


LIIA 


SAVE 


GET THE KEYBOARD INPUT 


E25E 


C3CC00 




JMP 


NEXT 1-4 


GO TO MONITOR 



THIS PORTION OF THE PROGRAM SETS THE 
STARTING LINE NUMBER AND THE INCREMENT 
VALUE 



E261 


210005 


setl: 


LXI 


HrOSOOH 


E264 


22CEE2 




SHLII 


I NCR 


E267 


CD3303 




CALL 


VCHK 


E2AA 


21C7E2 




LXI 


H r LINE 



i IIEFINF DEFAULT INCREMENT = 5 

i STORE DEFAULT INCREMENT 

■ CHECK PARAMETER ENTERED 

i SET TO CURRENT LINE NO. STASH 



space commands are output to the console 
to wipe out the line number and the typed 
character is entered as the first one in IBUF. 
After each line number is entered in IBUF, it 
is increased by the operator selected incre- 
ment and saved for use in the next program 
line. 

Turning on SAL 

The initial line number is established by 
using a SETL executive command with 
parameter passing. The technique for adding 
your own executive commands, such as 
SETL, was described in the January 1977 



(BEGIN ^V 



E26I 



INCR:-5 




OUTPUT 
ERROR 
MESSAGE 



HL:> 
ADDR(LINE) 



E26D 



DE-. = 
ADDR(ABUF) 



E270 



PACK FOUR I 

ASCII 

CHARACTERS 

INTO TWO 

BINARY 

BYTES 




I 1 

ILINE I 

(INCREMENT I 

^PRESENT I 

' I I 



I 1 

I SWITCH ON | 
| SAL 

L I 



E27F 



V 



ONOFF:- 

ADDR 

(PATCH) 



V 



(RETLIRNToN 
MONITOR J 



Figure 2: Flowchart of the SETL routine 
that will determine at what number the line 
numbers should begin and what the incre- 
ment between line numbers will be. Ad- 
dresses in this figure refer to listing 3. 



14 




Computer 

Interfacing 
and 
On-Line 
Operat** 1 






768/03X 

MICROPRO- 

GRAMMABLE 

COMPUTER 

ARCHITECTURES 

by A. B. 
Salisbury 

Pub. price, $13.50 
Club price, $11.40 

767/017 
COMPUTER 
INTERFACING 
AND ON-LINE 
OPERATION 

by J. C. Cluley 

Pub. price, $14.50 
Club price, $12.35 

767/009 

DIGITAL SIGNAL 
PROCESSING 

by A.V. 

Oppenheim and 
R.W. Schafer 

Pub. price, $22.95 
Club price, $18.95 

767/262 

ENGINEERING 
CYBERNETICS 

by R.M. Glorioso 

Pub. price, $16.95 
Club price, $12.95 

768/307 

CONTENT 
ADDRESSABLE 
PARALLEL 
PROCESSORS 

by C. C. Foster 

Pub. price, $11.95 
Club price, $9.95 

768/870 

GERT MODELING 
AND 

SIMULATION: 
Fundamentals 
and Applications 

by L. J. Moore 

and 

E. R. Clayton 

Pub. price, $15.95 
Club price, $13.25 



introductory otter 
to new members of the 

COMPUTER PROFESSIONALS' 
BOOK CLUB 



anyone 

of these great 
professional books 




cJ®** 



for 3 
only 



values up 
to $25.00 



Special $1 .00 bonus book comes to you 
with your first club selection 



770/271 

BUCHSBAUM'S 

COMPLETE 

HANDBOOK OF 

PRACTICAL 

ELECTRONIC 

REFERENCE 

DATA 

by W. H. 
Buchsbaum 

Pub. price $17.95 

Club price, $13.50 










767/092 


f 


DATA 


-^*^ 


PROCESSING 




DOCUMENTA- 




TION: Standards, 


Is 


Procedures, and 




Applications 


11 


by W. L. Harper 


i ! 


Pub. price, $22.95 




Club price, $17.95 


I 



767/661 

INTERACTIVE 

COMPUTER 

GRAPHICS 

by B. S. Walker, 
G. R. Grund, & 
E. A. Drawneck 

Pub. price, $14.50 
Club price, $12.30 

768/803 

DATA 
COMPRESSION 

by L.D. Davisson 
& R.M. Gray 

Pub. price, $25.00 
Club price, $17.95 

766/754 

HANDBOOK OF 
COMPUTER 
MAINTENANCE 
& TROUBLE- 
SHOOTING 

by B.W. Maguire 

Pub. price, $18.00 
Club price, $13.95 

767/521 

SYSTEMS 
SIMULATION 
The Art and 
Science 

by R.E. Shannon 

Pub. price, $14.95 
Club price, $12.50 

768/714 

APPLYING DATA 
STRUCTURES 

by T. G. Lewis 
and M. Z. Smith 

Pub. price, $15.95 
Club price, $12.25 

767/815 

GAMES AND 
PROGRAMS: 
Mathematics 
for Modeling 

by R. R. 
Singleton 
& W. Tyndall 

Pub. price, $13.00 
Club price, $10.75 



save time and money 

by joining McGraw-Hill's new 

COMPUTER PROFESSIONALS' 
BOOKCLUB 



m 



THIS new professional club is designed to meet your day-today on-the-job 
needs by providing practical books in your field on a regular basis at below 
publisher prices. If you're missing out on important technical literature — if 
today's high cost of reading curbs the growth of your library — here's the solution 
to your problem. 

The Computer Professionals' Book Club was organized for you, to provide an 
economical reading program that cannot fail to be of value. Administered by 
the McGraw-Hill Book Company, all books are chosen by qualified editors and 
consultants. Their understanding of the standards and values of the literature in 
your field guarantees the appropriateness of the selections. 

How the Club operates: Every month you receive free of charge The Computer 
Professionals' Book Club Bulletin. This announces and describes the Club's 
featured book of the month as well as alternate selections available at special 
members' prices. If you want to examine the Club's feature of the month, you do 
nothing. If you prefer one of the alternate selections — or if you want no book at 
all — you notify the Club by returning the card enclosed with each Bulletin. 

As a Club Member, you agree only to the purchase of four books (including 
your first selection) over a two-year period. Considering the many books published 
annually, there will surely be at least four you would want to own anyway. By 
joining the club, you save both money and the trouble of searching for the best 
books. 



r — MAIL THIS COUPON TODAY 

COMPUTER PROFESSIONALS/Book Club 

P.O. Box 582 Princeton Road, Hightstown, New Jersey 08520 

Please enroll me as a member and send me the two books Indicated. I am 
to receive the bonus book at the introductory price of $1.00 plus my tirst selec- 
tion, plus tax, postage and handling. If not completely satisfied, I may return 
the books within 10 days and request that my membership be cancelled. If 
I keep the books, I agree to take a minimum of three additional books during 
the next two years at special Club prices (guaranteed 15% discount, often 
more). I will receive the Club Bulletin 12 times a year. If I want to examine 
the featured selection, I need take no action. It will be shipped automatically. 
If, however, I want an alternate selection— or no book at all— I simply notify 
the Club by returning the convenient card always enclosed. I will always have 
a minimum of ten days in which to return the card and you will credit my ac- 
count fully, including postage, if this is not the case. Membership in the Club 
is continuous but cancellable by me at any time after the four-book purchase 
requirement has been filled. This order subject to acceptance by McGraw-Hill. 
Orders from outside the continental U.S. must be prepaid. All prices subject to 
change without notice. Otter good tor new members only. 



Write Code # of $1.00 bonus 
book selection here 



Write Code # of 
first selection here 



NAME. 



ADDRESS. 



CITY. 



STATE. 



_ZIP_ 



EXTRA SAVINGS: Remit in full with your order, plus any local and state 
tax, and McGraw-Hill will pay all postage and handling charges. 000-104 



Listing 3, continued: 



E26D 


117E10 


L..XI 


D.ABUF 


E270 


CD88E2 


CALL 


PACK 


E:273 


21CEE2 


LXI 


H.INCR 


E276 


1A 


LDAX 


D 


E277 


FEOO 


CFI 





E279 


CA7FE2 


.17. 


SWITCH 


E27C) 


CD88E2 


CALL 


PACK 



; SET 10 ASCII BUFFER 

i PACK BCD DIGITS 

i SET TO INCREMENT STORAGE 

i En FIRST VALUE FROM ABUF 

I CHECK IF INCREMENT ENTERED 

: USE DEFAULT VALUE IF NOT 

t PACK INCRFMENT VALUES 



THIS PORTION OF THE PROGRAM CHANGES 
THE DESTINATION OF THE JUMP INSTRUCTION 
IN THE PATCH TO ACTIVATE THE AUTOMATIC 
LINE NUMBERING FEATURE 



E27F 2100E2 


SWITCH! 


LXI 


E282 22B9E2 




SHU 


E285 C3BAOO 




JMP 



H. AUTOL J START ADDRESS OF AUTOL ROUT TNT 
ONOFF ! STORE IT AT BRANCH LOCATION 
EOR I RETURN TO MONITOR INPUT 



THE FOLLOWING SUBROUTINE PACKS 
FOUR ASCII DIGITS INTO TWO 
EIGHT-BIT BINARY BYTES 



E288 CD8BE2 
E28B CD9CE2 



E291 
E292 



13 

CD9CE2 
BO 



E299 
E29A 
E29B 



RLC 




RLE 




RLC 




MOV 


Br A 


INX 


D 


CALL 


TES 


ADD 


B 


MOV 


MiA 


INX 


D 


INX 


H 


RET 





DD FOLLOWING ROUTINE TWICE 
TEST FOR NUMERICAL DIGIT 
ROTATE BITS TO LEF1 

FOUR BITS OF PACKED 

BINARY 

BYTE 
HOLD 

SET I TO NEXT DIGIT 
CHECK LEGAL DIGIT 
PACK 2 DIGITS 
STORE RESULT 
SET TO NEX1 DIGIT 
NEXT STORAGE LOCATION 



THIS SUBROUTINE TESTS AN ASCII CHARACTER 
TO MAKE SURE IT IS ONE OF THE DIGITS 
"()■ THROUGH "9". IF IT IS NOT, 
AN EXIT IS MADE TO THE ERROR ROUTINE. 
THE ASCII NUMBER CODE IS ALSO 
STRIPPED FROM THE CHARACTER 



E29C 


1A 


IEHI 


LDAX 


D 


GET DIGIT 


E29D 


FE30 




CPI 


'0' 


ASCII OR HIGHER 


E29F 


DAA504 




JC 


WHAT 


ERROR II HOT 


E2A2 


FE3A 




CPI 


' : ' 


CAN'T BE MORE THAN 9 


E2A4 


D2A504 




JNC 


WHAT 


ERROR IF SO 


E2A7 


EAOF 




ANT 


OFH 


STRIP OFF ASCII CODE 


E2A9 


09 




RET 







THIS SUBROUTINE UNPACKS AN EIGHT-BIT 
BINARY BYTE INTO TWO ASCII NUMERICAL 
CHARACTERS 



E2AA E40F 


unpack: 


ANI 


OFH 


E2AC C630 




ADI 


'0' 


E2AE 77 




MOV 


Mr A 


E2AF 47 




MOV 


Br A 


E2B0 CDOOEO 




CALL 


CRTOUT 


E2B3 23 




INX 


H 


E2B4 C9 




RET 





MASK ALL BUT FOUR BITS 

ADD ASCII NUMBER CODE 

STORE AS ASCII 

HOLD IN B REGISTER 

ECHO TO OUTPUT 

SET TO NEXT STORAGE LOCATION 



THE FOLLOWING ROUTINE IS THE PATCH 
THAT CONTROLS WHETHER OR NOT AUTOMATIC 
LINE NUMBERS ARE GENERATED 



E2B5 227410 
E2BB C3 
E2B9 C700 



patch: shld adds 

DB 0C3H 
ONOFF : BW NEXT-1 



ORIGINAL SYS S INSTRUI 
JUMP INSTRUCTION 
DEFINE AS OFF INITIALI 



THIS ROUTINE TURNS AUTOMATIC 
LINE NUMBERING FEATURE OFF 



E2BB 


21C700 


unaoto: 


LXI 


HrNEXT-1 


E2BE 


22B9E2 




SHLD 


ONOFF 


E2C1 


CD5E01 




CALL 


C0MM 


E2C4 


C3BA00 




JMP 


EOR 



E2C7 
E2C9 
E2CA 
E2CE 
EOOO 
0008 
D806 
107E 
0333 
OOBA 
00C8 
04A5 
015E 
1074 



MONITOR IS DESTINATION IF "OFF 
STORE DESTINATION IN PATCH 
ORIGINAL SYS B INSTRUCTION 
RETURN TO MONITOR 



THIS IS THE AREA WHERE THE PROPER ADDRESSES 
ARE STORED FOR THE VARIOUS LOCATIONS 
REFERENCED IN THE AUTOL PROGRAM 



CURRENT LINE NUMBER 
FOR KEYBOARD INPUT 

ASCII LINE NO. 

INCREMENT VALUE 
IVER PROGRAM 

CODE OF VIDEO DRIVER 
KEYBOARD INPUT ROUTINE 
FFER ADDRESS 
TINE IN MONITOR 
INITIALIZATION 
REENTRY POINT 
5SAGE 

COMMAND SEARCH 
STORAGE LOCATION 



line: 


DS 


2 


STASH FOR 


save: 


DS 


1 


STORAGE F 


numbr : 


DS 


4 


STASH FOR 


INCRi 


DS 


2 


STASH FOR 


CRTOUT 


EQU 


OEOOOH 


VIDEO DRI 


BKSPA 


EOU 


08H 


BACKSPACE 


KBBIN 


EQU 


0D806H 


ADDRESS K 


ABUF 


EQU 


107EH 


ASCII BUF 


VCHK 


EQU 


0333H 


VCHK ROUT 


EOR 


EQU 


OOBAH 


MONITOR I 


NEXT 


EQU 


00C8H 


MONITOR R 


WHAT 


EQU 


04A5H 


ERROR MES 


COMM 


EQU 


015EH 


MONITOR C 


ADDS 


EQU 


1074H 


MONITOR S 


i END 


OF PROGRAM 





issue of BYTE under the title "SYS 8Vi . . 
. Your Own Executive Commands," page 66. 
The command format is: SETL 0100 10 
In this example, the first program line 
number will be 0100, the second 0110, and 
so on with each line number being 10 highei 
than the proceeding one. The SETL sub- 
routine accepts input of the initial line 
number you wish SAL to generate, plus the 
increment by which each succeeding line 
number is to increase. The program checks 



( 


BEGIN """ 
AUTOL 


) 








E200 








SAVE HL 

ON 

STACK 


E229 






NUMBR:- 

UNPACK 

(LINE) 


E2B0 






DISPLAY 
NUMBR 


E2IA 






RESTORE 
HL 


E2IF 






SAVE:- 
INPUT 
(KEYBOARD) 


E22 


<^SPACE J> 
>9. p 


NO 




E2! 


E24E 








DE: = 
ADDR 
(NUMBR) 




IGNORE 
INCREMENT- 
ATION FOR 
ONE LINE 




E23 


1A 














INCREMENT 

LINE 

NUMBER 








B 


' 


E2E 












RETRIEVE 
KEYBOARD 
INPUT 


[simulate state"! 
of sys8 on re- 
turn from 
read call 








1_ J 


( 


RETURN TO 
MONITOR 


) 









ABORT 


E24E 


ABUF 


107E 


ADDS 


1074 


AUTOL 


E200 


BKSPA 


0008 


COMM 


015E 


CONVT 


E209 


CRTOIJ 


EOOO 


DONE 


E25B 


EOR 


OOBA 


INCR 


E2CE 


KBDIN 


D806 


LINE 


E2C7 


L00P1 


E23E 


L00P2 


E22C 


L00P4 


E2S0 


NEXT 


00C8 


NUMBR 


E2CA 


ONOFF 


E2B9 


PACK 


E288 


PATCH 


E2B5 


SAVE 


E2C9 


SETL 


E261 


SWITC 


E27F 


TEST 


E29C 


TWICE 


E28B 


UNAUT 


E2BB 


UNPAC 


E2AA 


VCHK 


0333 


WHAT 


04A5 











Figure 3: Flowchart of the A UTOL routine 
that increments the line numbers and deter- 
mines if an executive command has been 
entered. If an executive command is input 
the automatic line numbering will cease. 
Addresses in this figure refer to listing 3. 



16 



II 



Microcomputers are highly 
complicated devices. When you 
buy one you want to make sure 
the manufacturer has a solid repu- 
tation for reliability and support. You 
want to make sure he'll be in your corner 
a year or two down the road. 
The Altair™8800 from MITS was the first 
general-purpose microcomputer. Today, there are 
more Altair computers up and running than all the 
other general-purpose microcomputers combined. 
Today, Altairs are successfully used for literally hun- 
dreds of personal, business, scientific, and industrial 
applications. 

Because we are so popular, many people have tried 
to copy us. The pages of microcomputer magazines 
are full of advertisements for Altair compatible devices 

and Altair imitation computers. 

Because we are NUMBER ONE, 
we offer a much broader range of 
products and services than any of 
our competitors. One manufacturer 
might be able to copy one of our 
computers. Another might be able 
to produce a working memory card. 
But no one can copy the overall 
Altair concept. 

The Altair concept is a system 
concept aimed at practical, cost 
effective applications. That's why 
we offer three mainframes includ- 
ing the Altair 680b, Altair 8800a, 
and Altair 8800b; ten peripherals 
including a multi-disk system; and 
over 20 plug compatible modules 
including our new, low power 16K 
static memory board. That's why we 
are the only microcomputer manu- 
facturer to go to the extra expense 
of providing our customers with 
quality, higher language, software. 
When you buy an Altair, you're 
not just buying a piece of equip- 
ment. You're buying years of reli- 
able, low-cost computing. You're 
buying the support of the NUMBER 
ONE manufacturer in the micro- 
computer field. 



■ 



HI^^H 




' I 



Note: The SYS 8 
Monitor/Editor/ As- 
sembler was written 
by Microtec of Sun- 
nyvale CA, and is 
included free with 
the I MSA I 8080 
Computer, Proces- 
sor Technology Co 
distributes a similar 
version of the same 
program for only a 
copying charge. 



to make sure you entered the starting 
number by using the VCHK routine in 
SYS 8. If you forgot to enter the number, 
you get another WHAT? for your collection. 
If an increment value is not entered, the 
default value of 5 is used. Sweet Auto Line 
is activated when the SETL command is 
issued and deactivated by the use of any 
other executive command. 

Employer Provided Tools 

To get SAL working productively, you 
need to provide the proper working environ- 
ment. What your new employee needs are 
two small changes to the SYS 8 program 
and, of course, the Sweet Auto Line pro- 
gram itself. 

The first change to SYS 8, shown in 
listing 1, diverts program flow to a patch in 
Sweet Auto Line that determines if the 
automatic feature is on or off. The patch 
contains the line of code which was replaced 
in the monitor plus a J MP instruction. The 
second and third bytes of the J MP instruc- 
tion are changed by SETL so that the 
destination of the jump is AUTOL, the start 
of the line numbering program. This turns 
SAL on. 

The second change to SYS 8, shown in 
figure 3, is similar except that program flow 
is diverted to the UNAUTO routine in SAL. 
UNAUTO changes bytes two and three of 
the J MP instruction in the patch so that the 
program goes right back where it came from 
without going through the line numbering 
procedure. This turns SAL off. 

Method to Madness Dept 

Here's why the particular locations for 
changes to the monitor were chosen. 

Each new line of data input begins at 
READ call in the monitor. First, we allow 
the HL register pair to be set to the start of 
the input buffer by the LXI H, IBUF 
instruction. Our J MP to the patch replaces 
the SHLD ADDS instruction. If SAL is off, 
the program flow jumps back to the 
MVI E, 2 instruction and everything works 
as though there had been no changes at all. 

However, if SAL is on, the line number 
will be automatically placed in IBUF, the 
character counter, register E, will be set to 
the correct value, and the first keyboard 
input character will be in resister A. The 
return will be to the CPI 24 instruction. 

The jump to UNAUTO replaces the 
CALL to COMM which is duplicated in the 
UNAUTO routine. If a line of input data 
does not start with a number, the program 
flows through UNAUTO to turn SAL off 
before checking for a legal executive 
command. 



Put SAL to Work 

When using SAL, an executive command 
is used to set the beginning line number, 
optionally select the increment of increase 
for each succeeding line, and turn SAL on. 
This command and the address of the SETL 
routine should be added to your executive 
command table. The command is: 
SETL beginning-line [increment] 

(square brackets denote options) 
Examples: 





First Line No. 


Incre< 


SETL 1000 20 


1000 


20 


SETL 1 5 


0001 


5 


SETL 20 


0020 


5 


SETL A100 10 


WHAT? 





To turn SAL off, use any executive 
command, even one that is not in CTAB. Of 
course, you can't use SETL! 

To correct a previous line, simply follow 
the standard procedure and type in the line 
number you wish to correct. When finished, 
SAL will repeat the line number she has 
saved as next. If you forget to type a space 
after SAL delivers the line number, use the 
key you would normally use to back up, 
usually the underline. When you have 
backed up to the beginning of the line, type 
a carriage return and SAL will repeat the 
next line number. 

Note that the maximum line number that 
SYS 8 can handle is 9999. SAL makes no 
test that this number has been exceeded. 
The next number after 9999 is 0000 and if 
you are not careful you may write over some 
of your program lines. The line increment 
value may range from to 9999. If you use 
0, you will set the same line number over 
and over. If you use 9999, well, would you 
believe a two line program? 

How Does She Dolt? 

SAL uses four locations to store various 
data. These are: 

LINE 2 bytes for the next line 

number in packed binary 

format 
SAVE 1 byte for the keyboard 

input character 
NUMBR 4 bytes for the next line 

number in ASCII format 
INCR 2 bytes for the increase 

increment in packed binary 

format 

The first program activity occurs when 
the beginning line number and increment are 
set and SAL is turned on. Those functions 
are handled by the SETL routine as shown 
in the flowchart in figure 2. In the event no 
increment is specified, the default value of 5 



18 



AIL WE 
CAN TEL YOU IS 
THAT MEN WHO 
DONT SMOKE 
LIVE ABOUT 
6 YEARS LONGER 
THAN MEN WHO 



00 SMOKE 

If you want someone to help you 

stop smoking cigarettes, 

contact your American Cancer Society. 



* 



AMERICAN CANCER SOCIETY 

* This fact taken from a research study is based on the smoker who at age 25 smokes about a pack and a half of cigarettes a day. 



Listing 4: Equate Table with monitor routine addresses for using the Sweet 
Auto Line program with the Processor Technology version of the SYS 8 
program. This assembly was started at hexadecimal memory location 5000. 



THIS IS THE AREA UHERE I HE PROPER ADDRESSES 
r ARE STORED FOR THE VARIOUS LOCATIONS 
S REFERENCED IN THE AUTOL PROGRAM 



S0C7 
50C9 
50CA 
50CE 
EOOO 
OOOB 
D804 
D05A 
F2?3 
FOIF 
F02D 
F41A 
F0C3 
D050 



line: 


US 


2 


save: 


[IS 


1 


numbr: 


IIS 


4 


incr: 


[IS 


2 


CRTOUT 


EOU 


OEOOOH 


BKSPA 


EOI.J 


OSH 


KBDIN 


EOU 


0D806H 


ABUF 


ECIU 


0DO5AH 


VCHK 


EQU 


0F293H 


EOR 


EOU 


0F01XH 


NEXT 


EOU 


0F02DH 


UHAT 


EOU 


0F41AH 


COMM 


ERU 


0F0C3H 


ADDS 


EQU 


0D050H 


i END 


OF PROGRAM 



STASH FOR CURRENT LINE NUMBER 
STORAGE FOR KEYBOARD INPUT 
STASH FOR ASCI [ LINT NO. 
STASH FOR INCREMENT VALUE 
VIDEO DRIVER PROGRAM 
BACKSPACE CODE OF VIDEO DRIVER 
ADDRESS KEYBOARD INPUT ROUTINE 
ASCII BUFFER ADDRESS 
VCHK ROUTINE IN MONI TDK- 
MONITOR INITIALIZATION 
MONITOR REENTRY POINT 
FRR'OR MESSAGE 
MONITOR COMMAND SEARCH 
MUNITOR STORAGE LOCATION 



is used. This value is loaded into the HL 
register pair and stored at INCR at the start 
of SETL. If a later test shows that a 
different value is desired, INCR is changed 
accordingly. 

Next, the monitor's VCHK routine is 
used to determine if a beginning line number 
was specified. VCHK exits to the WHAT? 
error routine if it finds no line number was 
chosen. If a line number is found, the HL 
resister pair is set to the LINE storage area 
and the DE register pair is loaded with the 
address of the monitor's ASCII buffer, 
ABUF. The first four ASCII digits in ABUF 
are converted to simple binary values and 
then packed two to a byte by the PACK 
routine. Each digit is tested to make sure it 
is a valid number by TEST. The two bytes 
are then stored at LINE. 

SETL then checks the next ABUF entry 
for an increment value. If none is present, 
the 5 initially stored is used. If an entry is 
found, the next four ABUF characters are 
packed into two bytes as before and stored 
in INCR. 

The SWITCH routine fetches the starting 
address of the AUTOL routine and stores it 
as the second and third bytes of the jump 
instruction in PATCH, thus turning SAL on. 
Each time the monitor enters its READ 
routine, the program is diverted to SAL's 
PATCH. If SAL is on, the program goes 
through AUTOL to generate a line number. 

As the flowchart of figure 3 shows, 
AUTOL saves the data in the HL register 
pair on the stack so that those registers are 
available for use. They are then set to the 
address of the NUMBR storage area. Register 
pair DE is set to the LINE memory address 
and the next line number is retrieved from 



that area and unpacked into four ASCII 
digits. The UNPACK routine stores the 
ASCII digits in the NUMBR stash and, as 
each digit is stored, it is also displayed on 
the console device. 

After displaying the line number, the 
program waits for an input from the key- 
board which it stores in the SAVE memory 
byte. This input is tested for a space and if it 
is any other character, a jump to the 
ABORT routine cancels the entry of the line 
number into the monitor's input buffer. If a 
space is detected, the ASCII digits in the 
NUMBR stash are entered into the monitor's 
input buffer, IBUF. The value stored in 
INCR is then added to the line number in 
LINE and the new value restored in LINE 
for use the next time through. 

The E register is used by the monitor to 
point to the place in IBUF just after the last 
valid character. Since we have added a four 
digit line number plus a keyboard entry 
character, we set register E to 6 so that the 
monitor knows what we have done. Lastly, 
the keyboard character is retrieved from 
SAVE and carried back to the monitor for 
input of the rest of the line. 

In the ABORT portion of the program, 
four rubout commands are generated to 
wipe out the line number printed on the 
control console. Since the number had not 
been entered into IBUF or increased by the 
increment value when the nonspace key- 
board entry was detected, no further proces- 
sing of the line number is necessary. The E 
pointer register is set to 2 to indicate that 
one character is in IBUF, the SAVEd char- 
acter retrieved and the monitor reentered. 
The PACK routine extracts the binary equiv- 
alents of ASCII numbers and combines two 
of them into one byte. This packing facil- 
itates adding the increment value to the line 
number by allowing use of the DAA, Deci- 
mal Adjust Accumulator instruction. 
PATCH, SWITCH and UNAUTO have al- 
ready been explained in sufficient detail. 

A program listing of the Sweet Auto Line 
is shown in listing 3. The addresses of the 
monitor routines given in the Equate Table 
arc for the IMSAI version of the SYS 8 
program. If you are using the Processor 
Technology version of this program the 
appropriate addresses can be found in listing 
4. 

Well, there you have it! Sweet Auto Line 
is an example of sane, moderately intricate 
computer programming which goes to work 
and makes life easier for you. You will find 
it convenient to use, and after a short while, 
you'll wonder how you ever got along 
without SAL on the payroll. 

Now if she could just type . . .■ 



20 



Turn us on. 

And the Digital Group will get you going, 



One of the first things you'll discover when you get 
started with microprocessors is that there's a lot more 
involved than the hardware. That's why you should 
consider a system's software, too. 

With a Digital group system, you can get going 
fast... and you don't have to be a programming 
genius to make your computer do something for 
you. Turn us on, and your system really does what 
you want it to do — easily and quickly. Because the Dig- 
ital Group firmly believes that a computer without 
usable software is useless. 

Every system the Digital Group delivers has several 
operating programs included with it. As soon as you 
turn it on it's doing something! In addition, we make 
available an ever-growing number of software pack- 
ages for Digital Group systems at all levels of 
support. (They're listed below.) 

But first, how do you get started? 

With Tiny Basic Extended. 

For only $5, you get the "beginning" and for an addi- 
tional $5 you can get a cassette full of game programs 
that work with it. Both are on audio cassette that your 
Digital Group system can understand. You can list 
the programs on the TV screen of your Digital Group 
system and see exactly how they work step by step. 

Now the real fun begins. 

Change the program. See what happens. Make it 
work better. Try other variations. The best way to 
learn how to program your computer is by studying 
an easy-to-understand operating program and 
changing it to see what happens. Bit by bit, under- 
standing will come. (And it's nice to know that in the 
meantime, your system can be working while you're 
learning.) 

When you're ready for more, so are we. 

Here are a few programs we have for you: 

TINY BASIC EXTENDED $5.00 

TINY BASIC GAMES: 

Volume 1 — Chomp, Checkers, Tic-tac-toe, 
Digiguess and Brain teaser $5.00 

Volume 2 — Artillery, Dr. Therapy, Reverse, 
Biorythm and Golf $5.00 

Volume 3 — Taxman, Snark, Trap, Number, 
Square-Root and Clock $5.00 



Volume 4 — Hamurabi, Stars, 23-Matches, 
20-Questions, Blackjack, Factor and Batum . . $5.00 
Volume 5 — Bomber, Lunar Lander, 
Spacebattle, Matador and Dice $5.00 

Volume 6 — Chief, Mr. Quizzer, Addition, 
Subtraction and Multiplication $5.00 

"GALAXY" 
1976, SCELBI Computer Consulting, Inc. . . . $7.50 

ALSO: 

Z-80 Educator $10.00 

Z-80 Assembler $15.00 

Z-80 Dis-Assembler $10.00 

Z-80 Text/Editor $7.50 

And many more. 

Here's how to get going. 

First, take a look at our hardware (we've pictured 
it here in our new line of cabinets). Then just fill in the 
coupon below for all the details on our systems — 
hardware and software — so you can turn us on. 




OHO 



J 



P.O. Box 6528 

Denver, Colorado 80206 

(303) 777-7133 



OK, Get me going. I want all the details. 



Name. 



Address. 



City/State/Zip. 



21 



$194 for the 

kaboodle. 



whole kit & 



»»-* 




the kit $95 



the kaboodle $99 



The kaboodle is our popular SC/MP Kit micro- 
computer package: SC/MP microprocessor, ROM, 
RAM, timing crystal, PC Board, and all necessary 
drive logic. All for just $99. 

The kit is our new, low-cost terminal kit: 
keyboard display, and special ROM with debug 
keyboard/display scanning program. All for 
just $95. 

You don't need a $500 development system. 

You don't need a $1,000 teletype. 

You buy our kit and kaboodle, and you're in 
business. In microprocessors, video games, home 
control systems, whatever. For training, for 
learning, for development. 

If you'd like complete information, we'll send it 
to you for nothing. 



Or, if you'd prefer the actual microcomputer and 
terminal kit, that'll be just $194 extra. 

National Semiconductor 

2900 Semiconductor Drive, Santa Clara, CA 95051 

Gentlemen: 

Please send me more information. 

_Please send me a real live SC/MP Kit ( ISP-8K/200) $99. 

Please send me a real live Keyboard Kit { ISP-8K/400) $95. 

Here's my cheek. ( California residents add 6% sales tax. ) 
Also available at your local distributor. 

Name Title 

Company 

Add less 



City 



.State_ 



Zip- 



S3 National Semiconductor 



The 



Ira Rampil 

917 Engineering Research Bldg 
University of Wisconsin 
Madison Wl 53706 

Jack Breimeir 

The Economy Co 

1901 N Walnut 

POB 25308 

Oklahoma City OK 73125 



Digital Cassette 
Subsystem: 



When people first acquire a small com- 
puter of traditional design, they are usually 
content for some time with using the con- 
sole lights and switches for IO. If the proud 
new owner has any software aspirations, he 
or she will soon begin to crave some sort of 
device to raise the level of intelligence of the 
man-machine interface. For many, an 
ASR 33 Teletype or its equivalent makes an 
ideal first peripheral for a computer system; 
it gives one a keyboard, a hard copy printer, 
and paper tape bulk storage for program 
libraries. There comes a time, however, when 
the incessant clatter of a 10 character per 
second paper tape reader is no longer music 
to one's ears. The fact of the matter seems 
to be that as the ambition of a programmer 
grows, so does that programmer's restless- 
ness and impatience to see things being 
done. There is something irksome about 
sitting and watching one's IO machine take 
longer to read a program than it took to 
code it. The obvious answer is a high speed 
random access store, like a disk or drum. 
However, no matter how elegant it might be, 
not everyone has $5 K for a cartridge disk. 
Floppy disks are not yet the answer in terms 
of cost, reliability and media life. Perhaps 
the best answer for today's amateur may lie 
with the ubiquitous Philips cassette. There 
are many alternatives when dealing with 
cassettes from which to make design choices. 
Therefore, this article is meant as a reference 
for ideas, rather than as a construction 
article. 

The theme of this article refers to the use 
of high performance digital cassettes, so let's 
define terms. High performance is intended 



to mean better than the amateur's common 
forms of automatic program loading, namely 
Teletypes and low speed audio cassettes. 
One important performance factor that is 
easy to improve upon is speed. A Teletype 
clatters along at 1 10 bits per second, and an 
audio cassette at up to 2400 depending on 
whose system you use, but a digital cassette 
system begins hitting mechanical limits at 
32,000 bits per second (for NRZ1 = 1600 
bpi X 20 ips = 32 kbs). A conservatively and 
therefore more reliably designed system will 
loaf along at 7,000 to 8,000 bits per second. 
That's about one thousand characters per 
second, or 1 00 times the speed of a Teletype. 
Imagine a 4 kilobyte program being loaded 
into main memory in less than 5 seconds. An- 
other, perhaps more important feature pos- 
sible in an electronically controlled cassette 
system is a concept known as block replace- 
ability. This means that a block of data on 
the tape can be erased and overwritten with 
different data, without disturbing any other 
preexisting data on the tape. This technique 
obviously requires very accurate computer 
control and synchronization of tape motion. 
Block replaceability is not an easy goal to 
achieve in the design of a cassette system. In 
fact, most cassette peripheral system manu- 
facturers do not offer it, and audio cassette 
drives never have it. Amateurs, however, can 
do things that professional designers cannot 
or will not do because amateurs are not as 
concerned with markets, cost and reliability 
optimization. Block replaceability is a 
worthy goal of amateur experimenters in 
spite of additional hardware requirements 
because, in conjunction with the proper 



24 





(STRENGTH 
OF CREATED 
MAGNET) 


+ B 


C 

/ A 

^A 


-H 






+ H 




/ B 




MAGNETIZING 
FORCE 
(APPLIED FIELD) 




/b' 


-B 





Figure I: The magnetization curve of the 
typical magnetic tape medium. The applied 
magnetic field, H, results in a residual 
magnet of strength B after the tape has 
passed the head. The linear regions A to A' 
and B to B' are used by audio recorders via 
the trick of using a bias signal which rapidly 
switches through the A to B region and 
allows reconstruction of the analog signal 
intensity based solely on the linear segments. 
A digital recorder, in contrast, drives the 
head to saturation (and beyond) at C and D, 
giving the maximum magnetization possible 
in either direction. 



Part 1, Digital Recording Background 



and Head Interface Electronics 



software device handler, a cassette memory 
system can simulate a random access device 
like a disk or DECtape. Although obviously 
much slower, such a cassette system would 
enable indigent personal computer users to 
run the equivalent of a disk operating 
system, with all of its attendant advantages 
and features. 

Magnetic tape systems of one form or 
another have been a mainstay of commer- 
cially designed computer systems for several 
decades. As such, there is a fairly large body 
of information in the engineering literature 
on the theory and practice of digital magnet- 
ic recording. Until now, analog magnetic 
recording with audio cassettes has been used 
in the majority of amateur computer appli- 
cations. A brief look at the physics of analog 
and digital magnetic recording should con- 
vince the reader of the vast superiority of 
digital techniques. 

The fundamental difference between 
audio and digital recording is in the method 
and degree of magnetizing the tape. For 
audio recording, low distortion is a primary 
requirement. Looking at the B versus H 
curve (magnetic intensity versus magnetizing 
force) for tape, figure 1, we see that the 
curve is mostly nonlinear. Only the linear- 
portions of the curve can be utilized if low 
distortion is of importance. There are two 
linear regions from A to A' and from B to B' 
in figure 1. The high frequency bias typical 
of audio recording is used to insure opera- 
tion in the two linear regions for the full 
range of the audio signal level. However, for 
digital recording as in almost all digital 
systems, we are interested in only two 



states: or 1 , on or off, true or false or 
whatever names are convenient for distin- 
guishing two separate states. Two such states 
are readily available for digital recording, 
these being points C and D on the B versus H 
curve of figure 1. Each of these two points is 
in the saturation region of the curve where a 
further variation in the magnetizing force 
results in a negligible variation of magnetic 
intensity in the tape and both points are in 
regions of opposite polarity. These then are 
the two states used for saturated digital 
recording. 

There are several advantages to operating 
in the saturation regions of the magnetic 
media which we shall examine now. During 
readback of magnetic tape, the signal in the 
magnetic data transfer head is proportional 
to the rate of change of the flux or 



d* 
N 2£ 

dt 



where e c 



N 



d* 
dt 



instantaneous read head 

voltage 

number of windings 

around head core 

change of magnetic flux 
per unit time 



For a given magnetic head and a given 
tape speed, the maximum readback voltage 
is obtained by recording a transition of the 



25 



signal from point C to D or D to C of 
figure 1. In other words, use the maximum 
possible change of flux in order to take 
advantage of the full amplitude capability of 
the magnetic media. This results in the 
maximum read back signal which in turn 
gives the highest signal to noise ratio. 
Secondly, since the tape is being saturated 
there are no critical bias levels or record 
current levels to maintain. All that is re- 
quired is that the current through the record 
head be of sufficient value to operate at or 
above the knee of the B versus H curve. Most 
digital systems operate at record head cur- 
rent levels of 125% tape saturation or above. 
Because this level is well above saturation, 
the exact value is not critical and, therefore, 
no adjustments are required in the recording 
electronics during manufacture or during 
maintenance. 

As previously mentioned, the manner in 
which the signal is used to designate ones 
and zeros for digital systems is different 
from the techniques used for audio. In audio 
the high frequency bias switches between 
the two linear regions of the tape while the 
audio is superimposed on the bias for record- 
ing the information. When audio recording 
techniques such as frequency shift keying 
(FSK) are used for storing digital informa- 
tion, typically 4 to 8 cycles of an audio tone 
are recorded in combination with the 50 to 
100 kHz high frequency bias. During read- 
back, the audio tones are recovered and 
converted back to digital information. 



Figure 2: Timing and tape positioning in a digital recording. At (a) is shown 
an example of a square wave applied to some tape head, alternating between 
two saturation current levels arbitrarily called +1 and — I. The result is a 
pattern of magnetized regions on the tape, with boundaries at each transition 
point. The passage of the magnets over the head during a read operation 
induces a current pulse proportional to the rate of change of the magnetic 
field's direction. Here we've arbitrarily given NS as the designation for a +1 
current state, and SN as the designation of the — 7 current state at write time. 
The trace at (c) shows the voltage integral of currents due to the field 
transitions of (b) when the tape is read. The key to recording digital data is 
the creation of a time format for the transitions of the fields (which don 't 
have to have the regular pattern shown here). 



Saturated digital recording systems require 
no such complication. Each excursion from 
one saturation polarity to the opposite is of 
significance. These magnetic polarity 
reversals are called flux transitions or flux 
reversals and, generally, less than one to a 
maximum of two are required per bit of 
digital information. 

Let us now take a closer look at what the 
saturated digital signal looks like on tape. 
The head drive current is switched between 
the saturation currents as shown by the 
square wave in figure 2a. The result is that 
cells of magnetization are recorded on the 
tape as shown in figure 2b. The magnetic 
cells alternate in polarity corresponding to 
the direction of the recording current. When 
the tape is read back, the read head will have 
a voltage induced only at the cell boundaries 
where there is a large change of flux. The 
resulting input head waveform is shown in 
figure 2c. Notice that the head has an output 
only at the locations where the flux changes 
occur and no output between flux changes 
where the remanence magnetism is constant. 
The magnetic head output when reading is 
obviously much different than the recorded 
current waveform. This situation is quite the 
opposite of the requirements for audio 
systems where the playback voltage must be 
a faithful reproduction of the record cur- 
rent. 

Another difference between audio and 
digital recording worth noting is in the 
method of erasing tape. Audio tape must be 
erased with a high frequency signal to 
replace the recorded signal with a com- 
pletely random jumble of magnetic cells, or 
domains, that produce no signal. If this prior 
erasing is not done, then the new audio 
signal is simply added to the previously 
recorded signal, achieving a "sound on 
sound" effect. Saturated digital recording 
eliminates the need for an erase head, and a 
separate erase process. Since saturated re- 
cording forces the tape to comply com- 
pletely with the new data, the previous state 
of tape is irrelevant. Digital recording erases 



(a) 



(b) 



WRITE 
HEAD 
DRIVE 
CURRENT 



TAPE TRACK 
MAGNETIZATION 
(TO SATURATION) 





























-4- 




--TRANSITION REGION 


N 


N S 


S N 


N S 


S N 


N S 


S N 


N S 


S N 


N S 


S N 


N S 


S N 


N S 





(c) 



INDUCED 
READ HEAD 
VOLTAGE ON 
PLAYBACK 



+ V 



-V 




TIME'S ARROW- 



26 



8.2V II. OV 

w — fr- 




I.5K WRITE 

MAGNETIC 
HEAD 



/^ -I5V 



Figure 3: A typical head drive circuit for saturation recording. The 709 operational amplifier 
here is used to drive the magnetic tape head to saturation in either direction by applying alOV 
signal with respect to ground. A magnetic recording head winding resistance of typically 100 
ohms in the digital cassette case results in a current of 10/3400=0.003 A (3 mA). 



the old data automatically with every write. 
Some digital recorders do have an erase 
head, usually called a tunnel erase head. 
These erase heads are only used to insure 
compatibility between different decks. 
Because different decks have different mech- 
anical head to tape relationships, the tunnel 
erase heads erase a track much wider than 
the head records on. This wide swath of 
erasure insures data recorded on a different 
machine can be erased completely, in spite 
of a slight head misalignment. The conven- 
tion when purposefully recording a blank 
piece of digital tape is to simply saturate the 
head in one direction for the entire blank 
section. 

In digital systems, the data or informa- 
tion is determined by these flux transitions 
rather than by any continuously varying 
analog signal. There are many different 
combinations in which the transitions can be 
used to designate a 1 or 0. The polarity, 
position, or relative spacing of the transi- 
tions are all possibilities. The process of 
assigning information to the flux transitions 
and recovering it is termed encoding and 
decoding. The more popular methods of 
encoding and decoding arc covered later in 
this article. 

Recording or writing flux transitions onto 
tape is relatively straightforward. Digital 
cassette magnetic heads typically require 4 
to 10 mA peak to peak current for satura- 
tion of the tape. This amount of current 
drive is easily available from a general 
purpose operational amplifier. Figure 3 is a 
circuit diagram of a typical write amplifier 



that delivers plus and minus 3 mA current 
drive to the magnetic head. The circuit 
consists of a 709 operational amplifier with 
back to back zener diodes providing bipolar 
limiting. TTL logic level inputs are applied 
to the write data input, inverted and then 
supplied to the inverting input of the op 
amp. The noninvcrting input of the op amp 
is referenced at 1.4 V positive, thus the 
output will switch polarities when the input 
changes from one TTL level to the opposite. 




Figure 4: Merging of transitions. When two 
transitions come close together on the tape, 
the response curves (see figure 2c) upon 
reading the data can overlap significantly. 
This crowding of flux changes tends to cause 
interference such that the amplitude of the 
signal is reduced, and the time coordinate of 
the peak of the curves will shift slightly. 



27 



READ 

MAGNETIC 

HEAD 



PREAMP 

a 

AMPLIFIER 



m 



PEAK 
DETECTOR 



POSITIVE 
THRESHOLD 
DETECTOR 




NEGATIVE 

THRESHOLD 

DETECTOR 



,+FLUX TRANSITION 



o 



FLUX TRANSITION 



Figure 5: Block diagram of typical magnetic tape head read electronics for digital recording. 
The preamplifier and amplifier sections merely turn the very weak signal actually generated in 
the head during a read data transfer into a strong enough signal to analyze. The peak detector 
marks the time at which the peak negative or positive amplitude is achieved, and the positive or 
negative threshold detectors merely gate the direction in which the signal was detected. The 
result is a pair of lines, one having a pulse for each + transition, one having a pulse for each — 
transition. 



Figure 6: Time relation- 
ships of the voltage wave- 
form from the head (a), 
the positive threshold de- 
tector output (b), and the 
negative threshold de- 
tector output (c). The 
threshold outputs serve as 
a gate for the peak de- 
tector. (Refer to figure 5 
for the system block 
diagram.) 



READ 
HEAD 
VOLTAGE 

(a) C 



The output is clipped at plus and minus 
10 V by the negative feedback through the 
zener diodes. Since the inputs to the op amp 
are offset 1.4 V above ground, the zener 
diodes are 8.2 and I 1 .0 V units to provide a 
symmetrical ±10 V output. The resistance of 
a cassette digital magnetic head is typically 
less than 100 ohms, thus, a 3.3 k resistor in 
series with the output of the op amp 
provides the ±3 mA drive to the magnetic 
head. 

As previously shown in figure 2, when the 
recorded magnetic pattern is read back, the 
voltage induced in the read head is a series of 
positive and negative pulses occurring when 




THRESHOLD LEVELS 



(b) 

+ FLUX 

TRANSITION 



(c) 
-FLUX 
TRANSITION 






the flux transitions cross the head gap. The 
flux transitions have been shown widely 
spaced with no interaction. In order to 
achieve maximum storage density and high- 
est data transfer rates, the flux transitions 
arc normally written close together. When 
this is done, the interaction between transi- 
tions must be taken into account. Because of 
the physics of the magnetic tape to tape 
head system, flux transitions recorded on 
tape are not infinitely narrow. The resulting 
induced readback voltage is a pulse shaped 
somewhat like half a sine wave. When two 
closely spaced transitions are read, the re- 
sults are as illustrated in figure 4. I5 is the 
recorded saturation current; e^ and e2 are 
the induced read voltages which would occur 
if the transitions were widely spaced; and e^ 
is the actual resultant read voltage due to the 
close spacing of the transitions. The trailing 
and leading edges of one pulse overlap into 
the areas occupied by adjacent pulses. The 
result is a reduction in amplitude of each 
pulse. This phenomenon is called pulse 
crowding. A close look also reveals a shift in 
the position of the peak of the pulse. This is 
known as peak shift. 

Another consideration in magnetic tape is 
the amount of dropout allowed. Dropout is 
a momentary decrease or loss of signal 
amplitude during readback, due to minor 
imperfections in the tape magnetic material 



28 



or tape to head interface. Digital grade 
cassettes are certified to have no more than 
50% loss of amplitude of a signal recorded at 
1600 flux reversals per inch (FRPI). Audio 
grade cassettes generally are not certified 
and it is up to the manufacturer's discretion 
as to the amount of dropout permitted in his 
product. 

What the preceding two paragraphs mean 
in terms of digital tape signals is that, instead 
of constant amplitude readback signal, there 
will always be random amplitude variations 
in the signal and shifting of the pulse peaks 
depending on the flux transition pattern 
written. The pulse crowding peak shift and 
dropout rate limit the maximum flux den- 
sity that can be utilized for digital tape if 
error free data storage is a requirement. The 
maximum flux density for cassette tape is 
normally 1600 FRPI. In addition, the design 
of the read amplifier is a key clement in 
minimizing the effects of the above tape 
characteristics. 

Figure 5 is a block diagram of a typical 
read amplifier. The signal from the magnetic 
head is amplified in two stages by a low 
noise preamplifier and amplifier. The analog 
signal at the output of this block is about 
4 V peak to peak. The signal is then applied 
to the peak detector and plus and minus 
threshold detector. The threshold detectors 
accept analog signals as inputs and have logic 
level outputs. When the input signal is below 
a preset reference level, the output of the 
positive threshold detector is a logic low. 
When the analog signal at the input exceeds 
the positive reference or threshold value, the 
output is a logic high. The negative threshold 
detector operates in the same manner except 
that it detects negative pulses. These signal 
relationships are illustrated in figure 6. The 
threshold detectors effectively isolate the 
low level noise and the amplitude variations 
from the read signal while supplying logic 
level pulses as an output for further 
processing. 

Even though the threshold detectors 
remove amplitude variations from the read 
signal, there will be time jitter in the outputs 
due to these variations as illustrated in 
figure 7. This effect can be eliminated by 
detecting the peak of the analog read signal, 
then combining the result with the threshold 
information. This is the function of the peak 
detector block in figure 5. The sequence of 
events and resulting outputs is shown in 
figure 8. Note that we now have logic level 
information that accurately locates the cen- 
ter of the flux transition at a logic signal 
edge with no timing or amplitude variations 
due to amplitude fluctuations in the read 
signal. 



(a) 



(b) 



(c) 




Figure 7: A superimposition of a strong 
signal and a weak signal (a) shows how there 
can be considerable jitter in the threshold 
detector outputs. At (b), the strong signal 
quickly reaches the threshold when it is 
rising, and remains above the threshold for a 
longer time, thus resulting in a wider pulse 
than at (c) where the lower amplitude signal 
is read. In the normal operation of the tape, 
crowding effects such as seen in figure 4 and 
the dropout effect together require that the 
input circuitry be tolerant of amplitude 
variations. 



READ VOLTAGE (V) 




+ THRESHOLD 
(I IF V>V THRESH0LD ) 



-THRESHOLD 

L" F v<v THRESHOLD> 



PEAK DETECTOR 
( SIGN OF dV/dT) 



TRANSITION 



-FLUX 
TRANSITION 



J 



WIDTH 
VARIES 



u 



ACTIVE 
EDGE 



ACTIVE 
EDGE 



/v 



J 



\J 



ACTIVE 
EDGE 



ACTIVE 
EDGE 



Figure 8: Decoding begins using a peak detector, which changes its logic state 
at the time the derivative of the voltage with respect to time changes sign. 
The peak detector output is then gated with the threshold detectors resulting 
in a pulse which has a negative transition at the peak, and a width dependent 
upon the amplitude of the signal. The negative edge of the flux transition 
lines is the derived clock reference used for input operations. 



29 



A 



A 



Figure 9: Details of a dig- 
ital recording read head 
signal processor. This cir- 
cuit is drawn from the 
schematic used by the 
Economy Company's Phi- 
Deck product. Parts des- 
ignations and jack des- 
ignations refer to the Phi- 
Deck product. 




30 



Let's take a look at some of the detail 
circuitry of a read amplifier. Figure 9 is a 
schematic diagram of a read amplifier cor- 
responding to the block diagram of figure 5. 
The preamplifier and amplifier consist of a 
MC1303 dual, low noise audio amplifier. 
The amplifier circuits are a standard op amp 
configuration with negative feedback con- 
trolling gain and frequency response. The 
feedback elements for the first stage consist 
of R45, R46 and C24. Midband gain is set 
by R45 and R46. The high frequency 3 db 
corner frequency is determined by R45 and 
C24. R51 is an offset adjustment to provide 
for zero offset voltage and R39 is a gain 
adjustment for the signal level. The second 
stage is similar to the first with the addition 
of low frequency rolloff determined by R56 
and C36. The two stages combined have an 
overall gain of approximately 1000 with 
1 2 db per octave rolloff above the upper 
cutoff frequency and 6 db per octave below 
the lower cutoff frequency. Different en- 
coding and decoding methods have different 
read amplifier bandpass requirements. The 
read amplifier gain and bandpass require- 
ments are also dependent upon the tape 
speed. The read amplifier bandpass should 
be tailored to pass only the frequencies 
required by the system; thus, the highest 
signal to noise ratio is obtained. 

The threshold detectors consist of LM31 1 
comparators, IC4 for positive pulses and IC5 
for negative pulses. One input of each of the 
comparators is connected to an adjustable 
reference voltage. The reference voltages can 
be varied to select the level or threshold 
value at which a pulse is considered a valid 
flux transition. Resistors R15 and R19 
supply negative feedback to give a small 
amount of hysteresis. This prevents the 
comparator outputs from oscillating during 
switching. By grounding pin 1 of the com- 
parator and returning the output to +5 V 
through a pullup resistor, the outputs are 
TTL logic levels. 

The peak detector consists of an amplifier 
stage, IC1 0; a passive differentiator, CI 6 and 
R28; and a zero crossing detector, IC1 1 . The 
amplifier provides gain to compensate for 
the attenuation of the differentiator net- 
work. The output of the differentiator will 
be a positive or negative voltage corres- 
ponding to whether the analog signal has a 
positive or negative slope. The differentiator 
output is supplied to the zero crossing 
detector, IC1 1 . The output of IC1 1 will be a 
high or low logic level changing states only 
when the differentiator output changes 
polarity, thus locating the peak of the 
readback pulse." 

Next month cassette decks, encoding 
schemes, and applications will be discussed. 




COMPLETE 
FLOPPY DISK SYSTEM 
FOR YOUR ALTAIR IMSAI 
$599 

That's right, complete. 

The North Star MICRO-DISK SYSTEM uses the Shugart 
mini floppy™ disk drive. The controller is an Altair com- 
patible PC board with on-board PROM for bootstrap load. It 
can control up to three drives, either with or without 
interrupts. 

No system is complete without software: we provide the 
PROM bootstrap, a file-oriented disk operating system, and 
our powerful extended BASIC with sequential and random 
disk file accessing. 

Each 5" diameter diskette has 90k data byte capacity. 
BASIC loads in less than 2 seconds. The drive itself can be 
mounted inside your computer (with specified cutout), and 
use your existing power supply (.5 amp at 5V and .9 amp at 
12V typ). Or, if you prefer, we offer a power supply and 
enclosure. 

Sound unbelievable? See the North Star MICRO-DISK 
SYSTEM at your local computer store. For a high-performance 
BASIC computing system, all you need is an 8080 or Z80 
computer, 16k of memory, a terminal, and the North Star 
MICRO-DISK SYSTEM. For additional performance, obtain 
up to a factor of ten in BASIC execution speed by also order- 
ing the North Star hardware Floating Point Board (FPB-A). 
Use of the FPB-A also saves about 1k of memory by elimina- 
ting software arithmetic routines. 

Included: North Star controller kit (highest quality PC 
board and components, sockets for all IC's, and power regula- 
tion for one drive), SA-400 drive, cabling and connectors, 2 
diskettes (one containing file DOS and BASIC), complete 
hardware and software documentation, and shipping. 

MICRO-DISK SYSTEM .. .$599 To place order, send 

(ASSEMBLED) $699 check, money order or 

ADDITIONAL DRIVES. ..$425ea. BA card # with exp date 

T and signature. Uncertified 

Ulorst I I bo q>4.0U ea. checks require 6 weeks 

FPB-A $359 processing. California resi- 

(ASSEMB LED) $499 dents add sales tax. 



NORTH STAR COMPUTERS, INC. 
2465 Fourth Street 
Berkeley, CA 94710 



31 



Some letters to BYTE are 
technical in nature and are 
best served by some form of 
response. We will try to 
answer as many such letters as 
possible. If you have a puzzle 
concerning some aspect of the 
personal computing field, 
write down a clear statement 
of your question and send it 
to: 

Ask BYTE 

Byte Publications Inc 

70 Main St 

Peterborough NH 03458. 
We will publish names and 
addresses of individuals 
making inquiries unless you 
specifically request us to omit 
the reference." 




Got my first issue of BYTE yesterday and 
was much impressed by content and format. 
I was especially interested by Dr Suding's 
article on a TV interface [August 1976, page 
66} since I'd like a demand terminal to our 




SIN(T) + SIN(3*T)/3 
SIN(T) 

SIN(3*T)/3 



/Note: This letter was 
received from a person 
who signed it "Steve" with 
no return address; as some- 
times happens, the en- 
velope was discarded be- 
fore the discovery that 
there was no return ad- 
dress or other identifica- 
tion on the letter itself. 
This problem of identifica- 
tion is the reason for re- 
questing our authors to 
record their names redun- 
dantly in packages sent to 
BYTE.] 



NOTE : 

SECOND HALF OF CYCLE DUPLICATES 
FIRST BUT WITH (-1) ALGEBRAIC 
SIGN MULTIPLYING EACH VALUE 



U1108 computer. It needs 80 char/line, so 
his bandwidth comments grabbed my atten- 
tion to say the least. 

In the hope that I didn't really under- 
stand what he said, could we review? With 8 
bits/char (7 in the matrix + 1 space) and 32 
chars/line it looks like you have 256 bits/ 
line. At standard deflection rates, yielding 
53.34 u.s trace time, that works out to about 
4.8 Mb its/second. Since the worst case pat- 
tern is alternate ones and zeros, it looks like 
bandwidth for the fundamental frequency 
must be at least 2.4 MHz. Did I miscalculate 
or do you really need to pass the third 
harmonic? 

Steve 



First, note that with a 256 bit pattern of 
alternating light and dark, the worst case for 
bandwidth purposes, the actual frequency of 
the video data is found by dividing 128 (a 
two segment pattern is involved) into 
53.34 /us, not 256. Thus the frequency of 
the fundamental in the 256 element display 
is 2.4 MHz worst case (417 ns per 2 bits). In 
order to make a passable (first) square wave 
appoximation, Fourier analysis from an 
elementary mathematics course shows that 
the first two terms are the fundamental and 
the third harmonic, in a ratio of I to 1/3 in 
amplitude. Thus the amplifiers for a first 
order representation of a digital signal on the 
scan line should be able to pass 2.4 * 3 = 
7.2 MHz if no distortion of the first order 
approximation is to occur; in fact somewhat 
less than a flat response will still allow an 
image to be seen and understood, as is 
demonstrated by the fact that TV displays 
on standard sets work at all. The results of 
low bandwidth are a smearing together of 
the picture elements. 

The same considerations apply when 
thinking about the typical commercial dis- 
play monitor with its nominal (flat) response 
bandwidth extending in the 15 to 25 MHz 
range. Take the example of an 80 character 
display with 8 picture elements per charac- 
ter. The number of picture elements per scan 
line is then 640; and keeping the same scan 
time, this gives 83.33 ns per picture element. 
In the worst case alternate state display, two 
elements, or 1 66.7 ns, are required for each 
cycle, giving a frequency of 5.99 MHz. The 
third harmonic of this frequency is 
17.97 MHz. Thus on a monitor with 1 5 MHz 
nominal bandwidth there might be some 
smearing or loss of definition due to less 
than unity gain for the third harmonic, and 
on monitors with higher bandwidth, a 
sharper picture would be obtained. For 
reference, accompanying this note is a pic- 
ture of the third harmonic approximation to 
a square wave and the first and third 
harmonic terms in isolation. ■ 



32 



Why pay $ 49 
for a complete book 

on a new 
higher level ^%^ 
language 
when it's worth more? 




SCELBAL. A Higher Level Language for 8008/8080 Systems. 
An unequalled book of solid documentation with room to grow. 



You've heard about it. Now, 
it's available to everyone. 
SCELBAL. Scientific ELemen- 
tary BAsic Language. A new high 
level microcomputer language for 
8008/8080 systems that's simpler 
than machine language. This com- 
plete 368 page, profusely illustrated 
book is so comprehensive you might 
not be able to use all its information 
for years. But as you and your 
system mature, this book will stay 
forever young with refreshing ideas 
and extensions of your own 
parameters. 

A Total Language, including Source Listings 

Here's everything you need. A 
gold mine of routines, 
techniques, source listings, 
flow charts and lots more. It took 
2 1 /2 years to compile, evolve and 
write. Now it's yours for years to 
come. Look at all you get! 

5 Commands: SCR, LIST, RUN, 
SAVE, LOAD. 14 Statements: REM, 
LET, IF . . . THE, GOTO, FOR with 
STEP, END, INPUT, PRINT, NEXT, 
GOSUB, RETURN and optional DIM. 
7 Functions: INT, SGN, ABS, SQR, 
RND, CHR, TAB. And, it runs in 8K 
and more. 

Contains Overall Logic Description Program 

The first eleven chapters, over 
160 pages, describe the 
statement interpretation logic 
of the program, using flow charts, 
commented symbolic assembly 
language code and verbal 
descriptions. The book also details 
SCELBAL 8008/8080 assembly, 



providing absolute code for the 
program in octal, beginning at origin 
01/000 for either version. Plus, 
you'll find painstaking operating 
instructions and even suggestions 
for tinkerers and innovators. 

Software is Our ONLY Business 

We know there's no one 
program for every poten- 
tial user. So, particular 
care has been taken to provide a 
good, sound, fundamental selection 
of syntax statements and functions 
in this language. You get all the 
information necessary to get started 
. . . and to grow and expand with 
ease as you and your system 
capability evolve. The language is 
easily custom-implemented in 
virtually any 8008/8080/Z-80 based 
computer! 

Free Bonus "SCELBAL UPDATE" Included! 

Every copy of SCELBAL may be 
registered with the publisher. 
Registration assures that you'll 
receive the first 6 issues of 
"SCELBAL UPDATE" absolutely 
free. These exciting supportive 
improvements and suggestions are 
combined with user's unique 
findings and ideas. "SCELBAL 
UPDATE" is a LIVING concept. As 
you and your system grow, you can 
update at will. We've only scratched 
the surface. There's more excite- 
ment to come! 

Introducing 2 New SCELBAL Supplements! 

SCELBAL has taken off so fast, 
two special supplements had 
to be printed. First, there's 



Extended Math Functions: SIN, 
COS, LOG (BASE E), EXP (BASE E) 
and ATN . . . only $5.00 ppd. The 
second supplement, String Handling 
Capabilities, includes the numeric 
functions LEN and ASC. It sells for 
only $10 ppd. 

Don't delay. Order SCELBAL today! 

You can own this invaluable 
book for only $49 ppd. You'll 
have all the data you need to 
custom-tailor a high level language 
for your system. The revealed 
secrets of its operation are virtually 
priceless. "SCELBAL — A Higher 
Level Language for 8008/8080 
Systems". Only $49 ppd. And, it 
includes six (6) Free "SCELBAL 
UPDATES" too. Order today! 



Here are typical comments about SCELBAL . . . 

"SCELBAL looks fantastic! My system 
isn't even on-line yet, but I'm eagerly 
looking forward to activation day." 

"Your section on statement interpretation 
taught me to understand how a high 
level language operates. I never thought 
I could do that before!" 

"I've tailored SCELBAL software to my 
own insurance business. Now I offer 
new, expanded computerized service to 
my customers, using my own 8008." 



S 



»<MII COIHIUIEU 
CONILIITING INC. 

1322 Boston Post Road Rear 
Milford, CT 06460/(203) 874-1573 

Prices shown for North American customers. 
Master Charge, Postal and Bank Money 
Orders preferred. Personal checks delay 
shipping up to 4 weeks. Pricing, specifica- 
tions and availability subject to change 
without notice. 



33 



Build This Economy 



Floppy Disk Interface 



Dr Kenneth B Welles 
General Electric, Nela Park 
2623 Fenwick Rd 
University Heights OH 441 18 



The floppy disk drive offers the advanced 
computer hobbyist tremendous potential fora 
high performance computer system. With 
one or more floppy disk drives, an interface, 
and the proper operating software, the 
hobbyist can store hundreds of different 
programs on a single disk. Each of the 
programs can be given a name such as 
STARTREK, BASIC or EDIT, and a pro- 
gram can be run simply by typing its name, 
for instance "RUN EDIT". With this inter- 
face, the program can be brought into the 
computer at speeds of up to 31,250 bytes 
per second (for programs less than 5000 
bytes long in the proper format). Each disk 
will store over 300,000 bytes of programs, 
computer music, Dazzler graphics, ASCII 
text, synthesized speech thesaurus or data of 
any form, and any data on the disk can be 
accessed in at most one second, typically in 
less than one quarter second. In fact, the 
draft of this article was written and edited 



using mass storage on a disk drive in my 
personal home computer system. The entire 
article takes up less than seven percent of 
one floppy disk, and the time saved in the 
retyping of successive revisions of the article 
was tremendous. [Groan! Do I wish I had a 
floppy disk, CRT display, HYPERTEXT 
software and input scanners in my office . . . 
CH] 

Floppy disks also allow the quick assem- 
bly of large programs, without having to 
start, stop and rewind cassette players. 
Proper software allows a single floppy disk 
drive to merge several data files into one 
ordered file (for the updating of mailing lists 
or financial records), an operation which 
would take several cassette recorders on a 
cassette based operating system. 

All of the features mentioned are the 
potentials of a floppy disk computer system. 
For a personal computing user to realize 
these potentials, he or she needs both 




Photo J: The author's disk 
drive and interface board 
shown removed from the 
system. The Innovex drive 
is at left, with a diskette 
partially inserted in the 
front door and the elec- 
tronics board for the drive 
shown in an "open" posi- 
tion. The interface board 
is at the end of a multicon- 
ductor twisted pair cable, 
and a separate cable is 
used for drive power. 



34 




About the Author 

Dr Welles is an enthusiastic personal computing user, with a fairly well 
developed system. At the time he wrote the current article, his system 
included an Altair processor, 14 K programmable memory, 5 K of 2708 
ROM, and 2 Innovex floppy drives interfaced to the system. Miscellaneous 
peripherals include homebrew versions of a paper tape reader, television 
display, a modified office Selectric typewriter output, vector graphics, 
television camera input, and TV dazzler outputs among others. His main 
interests are image processing, pattern recognition, computer graphics and 
robotics. The entire text of his draft was typed and edited on his system, with 
hard copy output printed on the Selectric as the draft text submitted to 
BYTE. [At some yet to be determined future date, we'll eliminate the paper 
step and have authors such as Dr Welles simply send an appropriate machine 
readable representation of their articles . . . CH 



hardware and software. This article covers a 
hardware interface for floppy disk drive 
units. 

Until recently, only the well financed 
hobbyist could afford a floppy disk drive for 
a personal system. In addition to the $650 
to $1000 cost of the drive unit, one was also 
forced to spend from $300 to $1500 for a 
floppy disk drive controller. The high price 
of the controller buys a very intelligent 
electronic device, however. A single com- 
mand from the computer causes the con- 
troller to seek a particular track on one of 
up to four disk drive units, load the head, 
find the desired sector, format and read or 
write the data, calculate the CRC (Cyclic 
Redundancy Check), determine if the trans- 
fer had been successful, and retry the trans- 
fer in the event of a read or write error. The 
design of such an intelligent controller is 
based on the old school, IBM/360 approach 
that processor time is too valuable to waste 
doing the housekeeping for a peripheral 
device. A personal computing user, on the 
other hand, has lots of processor time, 
limited funds, and consequently a different 
philosophy. One of the original reasons for 
the development of microprocessors was to 
perform in software all of those functions 
that would normally (and expensively) have 
to be designed in hardware. In this vein, in 
collaboration with W R Hemsath of 
Cornell University, I have designed and built 
a floppy disk drive interface which incor- 
porates minimal hardware, and yet does not 
sacrifice the flexibility needed to read and 
write various data formats. This interface 
consists of only 17 integrated circuits, only 
one of which is a special purpose chip. The 
total cost of the chips is less than $25. The 
design shown here will interface up to eight 
floppy disk drives to an 8080 processor. In 



order to properly describe the design and 
function of the interface, let us first review 
briefly what steps are required to transfer 
data to or from a floppy disk. 

Disk Drive Operation 

In operation, a disk is inserted into the 
drive and the access door is closed. The act 
of closing the door engages the disk onto the 
spindle, and the disk is then rotated at 360 
RPM. A stepper motor drives the magnetic 
data transfer head radially in and out to 77 
discrete positions, the outermost called track 
and the one nearest the center of the disk 
called track 76. Normally, the head does not 
touch the spinning disk, but is positioned a 
small distance away from it. When data is to 
be read or written, a modified relay is 
energized allowing a spring loaded pressure 
pad to press the flexible disk into contact 
with the head. Timing holes punched in the 
floppy disk pass by a photo detector and 
generate a series of pulses. These "sector 
pulses" are used to determine which one of 
32 segments or sectors of the disk is cur- 
rently passing the head. Use of such holes to 
define sectors is called "hard sectoring" in 
disk drive jargon. The pulses are used to 
signal the approximate starting point of each 
sector. Data is read from and written to the 
disk in a manner quite similar to the reading 
and writing of data on magnetic cassettes. In 
normal operation, each of these 32 sectors 
will store slightly over 1024 data bits, or 128 
bytes. To write data onto a particular track 
and sector of the disk, the following opera- 
tions must take place: 

1. The head is moved in or out to the 
desired track. 

2. The pressure pad is loaded, pressing 
the disk against the head. 



35 



USER'S SYSTEM 



r 



FILE UNSAFE 



FILE UNSAFE RESET 



DEVICE SELECT 



. INDEX 



TRACK ZERO 



, i WRITE CURRENT SELECT 



HEAD LOAD 



WRITE GATE 



* SEPARATED DATA 



SEPARATED CLOCK 



^1 WRITE DATA 



WRITE PROTECT 



SECTOR (MODEL 220) 



+ 24VDC 



+ 24VDC RET 



+ 5VDC 



LOGIC GND 



P06 IS A USER 
INSTALLED OPTION 
FOR RADIAL POWER 
DISTRIBUTION 



AC INPUT 




FRAME GROUND 



AC INPUT 



INNOVEX 
SERIES 200 
DISKETTE 
DRIVES 

L6 

R6 

LI5 

RI5 P02 

L9 

R9 

L4 

R4 

LI3 

RI3 

L5 

R5 

LI2 

RI2 

L2I 

R2I 

LI8 

RI8 

L7 

R7 

L8 

R6 

LI7 

RI7 (READ DATA) 

LI9 

RI9 

LIO 

RIO 

LI6 
RI6 
LI4 
RI4 

R2.L2 

R3.L3 

R20.L20 

RII.LII 

RI,LI,R22,L22- 



3,6 

5 - 
4 — 
2 - 



P06 



OPTIONAL 



AC POWER 
CONNECTOR P04 



lh 



DENOTES 

FRAME 

GROUND 







DENOTES 

SHIELDED 

CABLE 



. DENOTES 
TWISTED 
PAIR 



Figure I: This diagram, 
redrawn from the Innovex 
Series 200-M Maintenance 
Manual, shows all of the 
TTL level signal lines that 
must be passed between 
the disk drive and the con- 
trolling interface. 



The signals sent to the drive from the interface 
are: 

Device Select: When this line is high, all 
commands from the interface are ignored by the 
drive, and all signals from this drive unit are put 
into a high impedance state. If several drives are 
used, all of the input and output signals may be 
tied together on a common bus with the exception 
of the device select lines. By pulling only one of 
the several device select lines low, the interface 
selects that particular disk drive to send commands 
to and receive data from. 

Step: A low going pulse on this line causes the 
head positioning motor to move the data transfer 
head in or out one track. ' 

Direction: During a step pulse, if this line is 
high then the head moves out one track (towards 



track 0). If this line is low, then the head will move 
in one track. 

Head Load: When this line is low, the pressure 
pad brings the spinning disk in contact with the 
data transfer head. 

Write Current Select: Because the surface veloc- 
ity of the disk relative to the head varies from the 
outermost to the innermost track, the density of 
the data on the disk will also vary. To compensate 
for this variation, the write current select line 
varies the amount of current used to write data as a 
function of the track being written. This line must 
be low when writing data onto tracks to 43, and 
high for tracks 44 to 76. 

Write Gate: Pulling this line low enables the 
data on the write data line to be sent to the head 
and recorded onto the disk. 

Write Data: Data to be written on the disk must 
be serialized and sent out on the write data line as 
a series of low going clock pulses (one pulse every 
4 ms) separating the presence (a 1 data bit) or 
absence (a data bit) of a low going data pulse. 
Figure 2 shows the write data signal used to send 
the data bit string 10100. 

File Unsafe Reset: This line is pulsed low just 
before a write operation is to take place. The pulse 
resets the file unsafe status to a safe (write 
enabled) condition, thereby allowing the write 
operation to be performed. 

The signals sent to the interface by the disk 
drive are: 

File Unsafe: A low signal on this line indicates 
that an error condition existed when a write 
operation was attempted. When file unsafe goes 
low, no writing can be done on the disk, preventing 
the loss of previously written data due to some 
error condition. 

Track Zero: When the data transfer head is 
positioned at track 0, this line goes low, enabling 
the computer to calibrate the head position. When 
the head is at tracks 1 to 76, this line is high. 

Index: A 500 us low going pulse appears on this 
line to signify that the index hole has just come 
into position under the photodetector. This pulse 
is used by the computer to determine which sector 
is sector 0. 

Sector: A 500 lis low going pulse appears on 
this line each time a sector hole (not an index hole) 
passes under the photodetector. 32 pulses occur 
every revolution, and these pulses are used to 
determine the approximate starting positions of 
the various data sectors. 

Ready: When AC and logic power are present at 
the disk drive and a disk is loaded, the ready line 
goes low. 

Separated Clock: When previously written data 
is being read from the disk, the clock is recovered 
from the data stream, and is presented on this line 
as a series of 200 ns low going pulses. The 
recovered clock pulses come approximately every 
4 lis with variations due to the changes in drive 
motor speed. 

Separated Data: The serial data coming from 
the disk during a read is indicated by the presence 
(a 1 data bit) or absence (a data bit) of a 200 ns 
low going pulse on the separated data line, between 
adjacent separated clock pulses. 

Write Protect is an optional signal that is not 
used in this interface. On a disk drive with this 
option added, the user can write protect the data 
on a disk by punching out or uncovering a write 
protect hole in the disk jacket. A write protected 
disk cannot be written onto. 



36 



3. Sufficient settling time is allowed for 
the head movement and pressure pad 
loading to fully stabilize. 

4. Delay until the start of the sector 
pulse which corresponds to the desired 
sector. 

5. Turn on the WRITE GATE of the disk 
drive to allow data to be written. 

6. Write 64 bits (16 bytes of 0). 

7. Write a single synchronizing byte (sync 
byte). 

8. Write the desired data bytes. 

9. Write 64 bits. 

10. Turn off the WRITE GATE to prevent 
any more data from being written. 

11. Unload the pressure pad. 

Because the disk drive records data seri- 
ally, steps 7 and 8 require that each byte 
being written must be sent out as a series of 
8 bits, with one bit being sent out every 
4 /us, and with no skipped bits between bytes. 

Reading data from the disk requires a 
similar series of operations: 

1. The head is moved to the desired 
track. 

2. The pressure pad is loaded. 

3. Settling time is allowed for movement 
and loading. 

4. Wait for the start of the sector pulse 
corresponding to the desired sector. 

5. Search for the first occurrence of the 
sync byte. 

6. Read in the desired data. 

7. Unload the pressure pad. 

Searching for the sync byte entails shift- 
ing the incoming serial data into a 8 bit byte 
and comparing the result of each shift with 
what the sync byte should be, every time 
that a new bit is read (every 4 /is). When a 
match is found, then the data bit stream that 
follows is broken into bytes on every eighth 
bit, using the sync byte boundary to define 
the data byte boundaries that come after the 
sync byte. 

From the proceeding lists of read and 
write procedures, two things become appar- 
ent: First, the speed required for shifting 
data in and out (I bit every 4jus) is too fast 
for most microprocessors to handle under 
software control (and searching for the sync 
byte is more time consuming still!). Second, 
all of the other operations (stepping the 
head from track to track, loading the head, 
searching for the proper sector pulse and 
turning the write gate on and off) are easily 
within the capabilities of microprocessor 
software control. Therefore a minimum 
hardware interface should control all of the 
functions which are not time-critical, 
through software and a simple input and 







DATA 






-4/js », 

DATA 


2 M 5 I— 
DATA 






DATA 




DATA 








I 













I 















CLOCK 



Figure 2: The timing of data cells on the disk. Each bit cell is framed by a 
clock pulse on either side. If the data is 1, a pulse appears in the middle of the 
4 ps cell width; if the data is 0, no pulse appears in the middle of the cell. The 
waveform in this example has 5 cells with the pattern of data needed for the 
string 10100. 



latched output port. The remaining func- 
tions then determine the major portion of 
the design. 

The disk drive we used for this interface 
is an Innovex 220 hard sectored flexible disk 
drive, and the signal lines required to operate 
the drive are typical of most floppy disk 
drives. There are 15 standard TTL level 
signals required to operate the model 220 
drive, 8 from the interface to the drive, and 
7 from the drive to the interface. The signal 
names and functions for the interface are 
summarized in figure 1. 

Figures 3 and 4 show the circuitry of the 
floppy disk interface. The circuit has 6 
major sections: processor 10 instruction 
decode, instruction latch to disk drive, status 
load from disk drive, head load-unload, 
USRT transmit, and USRT receive. 



Table 1: Semantics of the OUT 243 instruction. This table lists each 
accumulator bit, along with its meaning when used to transfer data to the 
disk interface in the OUT 243 instruction of an 8080. (In a different wiring 
of the 10 instruction decoder, or in a different computer, the same format 
could be used for the actual data transfer.) 

OUT 243 INSTRUCTION 

Polarity in Accumulator 

1 for tracks to 43, for track 44 to 76 

to 1 to transition causes reset 

1 for step in, for step out 
1 enables the drive to write 
to 1 to transition steps one track 
000 selects drive 0, 1 1 1 for drive 7 



Table 2: Semantics of the IN 241 instruction. This table lists the status bits 
read by the IN 241 instruction of an 8080 using this interface. 

IN 241 INSTRUCTION 

Polarity in Accumulator 

means the head is at track 

means file unsafe condition exists 

means disk drive is ready 

1 to transition marks start of each sector 

means that the next sector is sector 

1 means that the head is still loaded 
Always 1 



Bit 


Signal Name 





Write Current Select 


1 


File Unsafe Reset 


2 


Direction 


3 


Write Gate 


4 


Step Track 


5,6,7 


Drive Select 



Bit 


Signal Name 





Track Zero 


1 


File Unsafe 


2 


Ready 


3 


Sector Hole 


4 


Index Hole 


5 


Head Loaded 


6,7 


Unused 



37 



Figure 3: This diagram shows the major portion of the disk drive interface. IC1 and IC2 form the output command decoder. IC3 
and IC4 form the input command decoder. I CIO sets up the data from the disk into a format acceptable to the USRT. IC11 and 
IC12 put the data from the USRT into the proper format for the disk drive. A list of all integrated circuits with power 
connections is found in table 3. 




"--iWliiil 



Q. LU 



O — (\j fo t in id 



38 




5fc 





-.!•• .:.:'M 


\ ii^^S! 


1 •'» 


P-* ^flfc 


tt' 


1 \ ' '' : 1 


1 ■ ' \ 




«i 




. w? - 


Fwa 



!\V! 









^flmuaaswr 



1«»~ 




Photo 2: 
interface 



The author's system. The processor is an Altair, and other peripherals include a homebrew Selectric typewriter 



Processor IO Instruction Decode 

IC1 and IC2 decode output instructions 
to the interface. Executing the 8080 instruc- 
tions OUT 240, OUT 241, ... OUT 247 
(240 to 247 decimal) cause 500 ns low 
pulses on the output lines to 7 of IC2. 
These pulses can be used to latch data from 
the output data bus lines DO0 to D07 into 



Table 3: Integrated circuit power wiring list. 
This table lists each integrated circuit in the 
floppy disk interface, along with its power 
wiring pins. 



Number 


Type 


+5V 


GND 


IC1 


74L30 


14 


7 


IC2 


74L42 


16 


8 


IC3 


74L30 


14 


7 


IC4 


74L42 


14 


7 


IC5 


74LS175 


16 


8 


IC6 


74LS175 


16 


8 


IC7 


7442 


16 


8 


IC8 


8097 


16 


8 


IC9 


74123 


16 


8 


IC10 


74123 


16 


8 


IC11 


74193 


16 


8 


IC12 


7442 


16 


8 


IC13 


74123 


16 


8 


IC14 


7438 


14 


7 


IC15 


7400 


14 


7 


IC16 


74L04 


14 


7 


IC17 


S2350 


2 


1 



Note: 74LXX and 74LSXX types may be replaced 
by 74XX; 8097 may be replaced by 8T97. 



various registers, or to trigger specific func- 
tions (as will be shown later). 

IC3 and IC4 form the input instruction 
decoder for the instructions IN 240 to IN 
247 in a similar manner to the output 
decoder. The pulses on the output lines of 
IC4 are used to gate data onto the input data 
bus lines DI0 to DI7 and into the accumula- 
tor. Again, the pulses may be used to trigger 
specific functions that are not data input 
operations. [In adapting this design to a non 
8080 based computer, this decoding logic 
would have to be modified .... CH] 

Instruction Latch to Disk Drive 

Execution of an OUT 243 causes the 
contents of the 8080's accumulator to be 
loaded into IC5 and IC6. The 5 least 
significant bits are used to send the low 
speed control signals to the disk drive. Table 
1 shows the allocation and the polarity of 
these bits as they appear in the accumulator. 
The three most significant bits are used by 
IC7 to select one of up to eight different 
drives which may be attached to each 
interface. 

Status Load from Disk Drive 

Execution of an IN 241 instruction en- 
ables IC8 to load the current status of the 
selected disk drive onto processor input data 



39 



lines DIO to D15. Table 2 shows the alloca- 
tion and polarity of these bits as they are 
loaded in the accumulator. The two most 
significant bits are unused, and will always 
show Is. 

Head Load-Unload 

IC9 is a retriggerable one shot with a 2 



second pulse width. Executing an OUT 245 
instruction initiates this pulse and loads the 
disk drive head, regardless of the contents of 
the accumulator. If another OUT 245 in- 
struction is executed within 2 seconds of the 
first OUT 245, then the head will remain 
loaded for a further 2 seconds. The head will 
unload 2 seconds after the last OUT 245 



Figure 4: This diagram shows the circuitry used to perform all of the low speed functions of the disk drive. IC8 is a 6 bit input 
port, and IC5 and IC6 are an 8 bit latched output port. IC7 selects one of up to 8 disk drives on the system, and IC9 controls the 
loading of the disk s data transfer head for a read or write operation. 



DIO <55} 



DII <§£} 



DI2 <JT} 



DI3 <S|} 



DI4 <^T} 



DI5 <|I} 




| FIG 3 



|<£> 

I 
I 
I 

1 FIG3_ 



HEAD LOAD CUE I 



+ 5V 



IC9 
74123 



B 

CLR 



HEAD LOAD CLEAR 



IF 



I APPROX 2 SECONDS, I 
|_RETRIGGERABLE 

3 Jl HEAD LOAD STATUS 



TJ~ HEAD LOAD 



DOO[ii> 



DOI [||>- 



D02 [li>- 



D03 [||> 

j FIG 3 



CD" 



74175 
D 5 

D 

CLK CLR 



POC |99>- 



D04 H?>- 



D05 m>- 



PROCESSOR 
(SIOO BUS) 



D06 [33>- 

I 
D07 [5g>- 

I 

I „, 



FOR MULTIPLE DRIVES 
) WIRE TO CORRESPONDING PIN 
OF EACH DRIVE 



-tLJj> HEAD LOAD 
I 
I 



I 



WRITE CURRENT 
SELECT 



FILE UNSAFE 



-{HJ> DIRECTION 



CLK CLR 
D 5 

° IC6 ° 
74175 



/£" 



IC7 
7442 



[TT> WRITE GATE 

I 
I 
I 

DISK I DISK 

INTERFACE I DRIVES 

I 

I 

[L6> STEP TRACK 



I 



DRIVE SELECT 



— {UT^> DRIVE SELECT 
-[TJ£> DRIVE I SELECT 
-fua> DRIVE 2 SELECT 
-(u5> DRIVE 3 SELECT 
-fG§> DRIVE 4 SELECT 
-|U3> DRIVE 5 SELECT 
-(U3> DRIVE 6 SELECT 
-tu5> DRIVE 7 SELECT 

I 

I 

I 



ONE SELECT TO PIN LI3 
OF EACH DRIVE USED 



40 



(load head) instruction. This 2 second 
pause allows the head to stay loaded during 
successive reads and writes to the disk, but 
will automatically unload the head after 2 
seconds without any disk activity. Alter- 
natively, an OUT 246 instruction will cause 
the head to be unloaded immediately if and 
when that is desired. This automatic head 
unload feature minimizes wear on the floppy 
disk. If it were not present in some hardware 
or software form, the head would be con- 
tinuously in contact, wearing out disks quite 
quickly if your machine ran 24 hours a day. 



The USRT 

The abbreviation USRT stands for Uni- 
versal Synchronous Receiver Transmitter; 
this chip really is quite universal. Although it 
was originally developed for data trans- 
mission over phone link, wire link, and some 
types of tape drive, the S2350 USRT per- 
forms all of the needed high speed data 
transfers to and from the disk with almost 
no modification. Before discussing the 
operation of the USRT transmit and receive 
sections of the interface as a whole, take a 
look at the functions of the USRT itself, as 



TDS Transmit Data Strobe 

An OUT 240 instruction of this interface puts a 
pulse on the TDS line which loads the accumulator 
into the USRT transmitter buffer through proc- 
essor data output lines TDO to TD7. The USRT 
then shifts this data byte out onto TSO (Transmit 
Serial Out). One bit is shifted onto TSO for each 
pulse on TCP (Transmit Clock Pulse). 

TBMT Transmit Buffer Empty 

Whenever the transmitter buffer is ready to 
receive another byte (from an OUT 240 instruc- 
tion), the TBMT line goes high. 

TFS Transmit Fill Strobe 

An OUT 241 puts a pulse on the TFS line 
which loads the accumulator into the USRT fill 
buffer. If new data is not sent to the transmit data 
buffer by an OUT 240 soon after a TBMT signal, 
then the USRT has no data to send out on the TSO 
line. In this case, data from the transmit fill buffer 
is sent out in place of the missing data. 

RSS Receiver Sync Byte Strobe 

An OUT 242 pulses the RSS line which loads 
the accumulator into the USRT sync byte buffer, 
for use at the beginning of a data read operation. 

RR Receiver Reset 

An IN 243 causes the receiver section of the 
USRT to be reset into the "Search for Sync Byte" 
mode. The received serial data stream enters on 
RSI (Receive Serial Input), and is clocked into the 
received data buffer by the RCP (Receive Clock 
Pulse) line. When the data byte in the received data 
buffer matches the byte in the sync byte buffer, 
the RDA (Received Data Available) line goes high. 
After this happens, a new byte is put into the 
received data buffer after every eight clock pulses 
on RCP. 

RDE Received Data Enable 

An IN 240 instruction pulses the RDE line. 
This puts the data in the USRT received data 
buffer onto data lines RDO to RD7, and it is 
loaded into the accumulator. In this manner, the 
8080 brings in the data read from the disk. 

SWE Status Word Enable 

An IN 242 pulses the SWE line which loads the 
USRT status word into the accumulator to ex- 
amine for data ready, or to find possible errors. 



Figure 5: This is a block diagram of the USRT integrated circuit, the AMI 
S2350. The information here is redrawn from the original contained in A Mi's 
data sheet on the device. The USRT integrated circuit is the heart of this 
inexpensive floppy disk interface, performing all of the high speed data 
manipulations needed to read and write data from and to the disk drive. The 
USRT was not intended to be used as a floppy disk interface when it was 
originally designed. But as demonstrated by this article, a little ingenuity can 
often come up with surprisingly versatile applications of standard integrated 
circuits for use in high speed data communications. 



gnd vcc 

I. u 



D7 D6 05 04 03 D2 01 DO 
122 121 120 119 118 117 116 115 



INPUT DATA BUS 



cs 1 



NDBI 
NDB2 ■' 



POE 
NPB 



SCR 



RDA 



CONTROL 
REGISTER 



RESET- 



TIMING 

AND 

CONTROL 



LA 



TRANSMITTER 

HOLDING 

REGISTER 



TRANSMITTER 

FILL 

REGISTER 



MULTIPLEXER 



<-> 



TRANSMITTER 
SHIFT REGISTER 



COMPARATOR 



RECEIVER 

SYNC 

REGISTER 



RECEIVER SHIFT REGISTER 







<x> 



RECEIVER OUTPUT REGISTER 
OUTPUT TRI-STATE DRIVERS 



I 35 



RDE 



25 |26 |27 |28 |29 |30 |31 |32 |33 

RSI RD7 RD6 RD5 RD4 RD3 RD2 RDI RDO 
TBMT FCT SCR RPE RCR RDA 



41 



A printed circuit board is 
available for the advanced 
hobbyist to construct his or 
her own interface. The printed 
circuit board fits into a single 
Altair (or generic equivalent) 
slot, and supports the circuit 
described in this article with 
two additions: 

1, Eight head load cir- 
cuits allow multiple 
drives to load heads 
simultaneously. 

2. Space is provided for 
a 1702 type PROM, 
to allow the user to 
load the operating 
system from the disk 
without toggling in 
any data. 

The printed circuit and 
documentation only (no ICs 
or sockets) are available for 
$35 from K B Welles, 2623 
Fenwick Rd, University 
Heights OH 44118. 



denoted by the various signal lines. Figure 5 
shows a block diagram of the S2350, along 
with captions detailing these lines and their 
relation to the interface as a whole. 



USRT Transmit 

After the disk drive head has been loaded 
and the desired track and sector found, the 
write gate is turned on and data from the 
processor may be sent to the transmit 
section of the USRT through an OUT 240 
instruction. IC11 divides the Altair 2 MHz 
clock by 8 to give the 250 kHz clock 
required by the disk drive. This clock is fed 
into TCP, and IC12 combines the data from 
the transmitter serial output line and an- 
other clock phase into the proper write data 
format required by the disk drive as seen in 
figure 2. 

USRT Receive 

IC10 is simply used as a pulse stretcher 
for the separated data and separated clock 
from the disk drive. The data pulse is 
expanded to overlap the falling edge of the 
clock pulse. This overlap allows the data to 
be read properly by the USRT. When a byte 
of data has been received (as denoted by the 
receiver data available line), an IN 240 in- 
struction will load the received data into the 
accumulator. 

Software Timing 

The article to this point has shown how 
data can be transferred between the proc- 
essor and the disk drive in the correct 
format, but nothing has been said about the 
ability of the 8080 to send or receive data at 
the proper rate. A 250 kHz bit rate is one 
byte of data in or out every 32 /us under 
ideal conditions. If the drive motor speed 
variations are taken into account, this figure 
can be as low as 30;iis per byte on a read 
operation. Since 8080 instructions take from 
2 to 7 ms to execute (assuming a 2 MHz 
clock and fast memory), this restricts the 
read loop to very few instructions. If it is 
desired to transfer more than 256 bytes in or 
out at any one time, the read loop might 
look like: 



LOOPA: 



MOV A,B 
ORAC 
INZ LOOPA 



2.5 ms 
2.0 ms 
5.0 ms 

36.5 ms 



Symbolic 


Execution 


Instruction 


Time 


IN STATUS 


5.0ms 


ANI DATAREADY 


3.5 ms 


JZ LOOPA 


5.0 ms 


IN DATA 


5.0 ms 


MOV M,A 


3.5 ms 


INX H 


2.5 ms 


OCX B 


2.5 ms 



In the above example the HL register is 
used to point to the data buffer, and the BC 
register is the number of bytes to be read. 
The total time of the loop, 36.5 Ms, is 6.5 Ms 
too long for the worst case data read. 
Obviously this program will not read data in 
properly. 

By eliminating two lines of code the loop 
is reduced to a total time of 28 ms as shown 
in the following example. This is quite ample 
for the interface and allows additional lee- 
way for the possibility of dynamic memory's 
introducing a wait state during the loop. 



LOOPB: 



Symbolic 


Execution 


Instruction 


Time 


3: IN DATAWAIT 




(IN 244) 


5.0ms 


IN DATA 




(IN 240) 


5.0ms 


MOV M,A 


3.5 ms 


INX H 


2.5 ms 


DCX B 


2.5 ms 


MOV A,B 


2.5ms 


ORAC 


2.0ms 


J NZ LOOPB 


5.0ms 



28.0 ms 

Obviously this version of the routine will 
not work without some special "trick." In 
this case, the trick is that the first three lines 
of LOOPA have been replaced with the first 
line of LOOPB and some special hardware. 
The first three lines of LOOPA prevented 
the IN DATA statement from reading data 
before data was available. In LOOPB, the IN 
DATAWAIT is an IN 244 instruction. This 
triggers IC13b, a one shot, which puts the 
8080 into a slow memory wait state by 
pulling the Altair's PRDY line low. When 
data is ready for input, the RDA line of the 
USRT resets IC13b and allows the LOOPB 
routine to continue. During normal execu- 
tion of a read operation, the 8080 does a 
4ms wait between lines 1 and 2 of LOOPB. 
This wait state serves to synchronize the 
reading of the disk data with its availability. 
Any amount of data from a partial segment 
to an entire track may be input with this 
routine. 

If some hardware failure should occur, 
and data stops coming into the USRT, then 
RDA will never go high. If no data arrives 
after 3 ms, then IC13b completes the one 
shot cycle and releases the 8080 wait state. 
This feature prevents a hardware failure in 
the disk drive or interface from hanging the 



42 



processor up in an endless wait state. 
Whether a read operation is successful or 
not, the end of the loop is reached when the 
BC register pair's count is decremented to 
zero and the JNZ condition no longer 
pertains. 

In order to write data, a software output 
loop similar to LOOPB is employed: 



Symbolic 


Execution 


Instruction 


Time 


LOOPC: OUT DAT AWAIT 




(OUT 244) 


5.0 us 


MOV A,M 


3.5 /is 


OUT DATA 




(OUT 240) 


5.0 us 


INX H 


2.5 us 


DCX B 


2.5 us 


MOV A,B 


2.5 us 


ORAC 


2.0 us 


JNZ LOOPC 


5.0 jus 



28.0 us 

With this output loop, the 8080 can 
maintain the data rate required to transmit 
data to the disk properly. A similar hardware 
synchronization trick is also used in this 
case. 



Conclusion 

The small number of ICs in this circuit 
(17) and their low cost and easy availability 
puts the construction of this circuit within 
the abilities of many intermediate and ad- 
vanced computer hobbyists and experi- 
menters. The addition of a disk drive to the 
average home system will increase the overall 
system usefulness many times. By reducing 
the time required for software generation to 
a fraction of that on a cassette or paper tape 
system, software throughput and sophistica- 
tion of the typical personal computing user 
(and professional) will typically double or 
triple. 

I currently have two drives running on 
an Altair system, and a complete disk 
operating system existing in 2 K of PROM 
that allows operating with up to 240 
different named files on each disk. Loading 
BASIC takes only 6 seconds, and loading 
STARTREK using CLOAD takes only 3 
more seconds. The disk drive and operating 
system has increased software generation at 
least fourfold, and made the system much 
more enjoyable to use." 



Final Hardware Notes 

The circuit shown in figures 3 and 4 was 
developed for use with an Innovex 220 
drive. The 220 has multiple options which 
can be selected by jumpers on the circuit 
board. The options required for use with this 
interface are: 

1. Radial Interrupt Disabled (Link E 
installed) 

2. Radial Rotation Sensing Disabled 
(Two Link Es installed) 

3. Read Data Option Disabled (Link A 
installed) 

4. Write Protect Option Disabled (Link H 
installed) 

5. Stepper Power Option (Link E 
installed) 

6. Radial Head Load Disabled (Link E 
installed) 

The selected options allow multiple drives 
to be used with the interface. While up to 
eight disk drives can be connected in parallel 
(with the exception of the device select 
lines), the shorting clip on the P07 line must 
be removed from all but the last disk drive 
on the bus (P07 connects the bus termina- 
tion resistors to +5 V). In addition, the user 
must provide power supplies for the follow- 
ing voltages and currents: 

+5 V, 800 mA for each drive 

—5 V, 75 mA for each drive 

+24 V +/-2 V, 1 .4 A for the first drive, 
0.1 A more for each additional drive 



^ABY! I MICROCOMPUTER^ 

ARE YOU BUYING A SYSTEM? 

BEFORE YOU DO 
SEND FOR OUR LITERATURE. 
COMPARE OUR SPECIFICA- 
TIONS WITH OUR COMPETI- 
TORS' KITS AND ASSEMBLED 
SYSTEMS! 

YOU WILL SEE 

THE BABY! I SYSTEM IS NOT A 
BABY WHEN IT COMES TO 
HARDWARE AND PERFOR- 
MANCE 
BUT IT IS WHEN IT COMES TO 

PRICE! 
COMPARE TODAY 

THEN BUY A 
BABY! I MICROCOMPUTER 



STM SYSTEMS, INC. 

P.O. BOX 248 

MONT VERNON, N.H. 03057 

603-673-2581 





43 




Color Displays on 

Black and White 

Television Sets 



Steve Bain 
Technagraphic 
POB 5014 
Arlington TX 76011 



Figure I: The Benham 
Disk. When rotated clock- 
wise at 5 to 10 revolutions 
per second, the black arcs 
nearest the center appear 
to be red, the middle arcs 
appear to be green, and 
the outer arcs appear to be 
blue. If the direction of 
rotation is reversed, so is 
the order in which the 
colors appear. 



Add Subjective Color to Your 
Video Interface 

Interest has been growing in the idea of 
using standard color television receivers as 
microcomputer output devices. At least one 
color television interface is already com- 
mercially available and more are on the way. 
In addition, many homebrew projects are 
ongoing. 

There are, however, problems with using 
home color televisions as output devices for 
microcomputers. Most hobbyists' color tcle- 
visons are dedicated to pastimes such as 
Walter Cronkite and "The Waltons." The 
family may not enjoy relinquishing its view- 
ing rights while that new program is being 
debugged. 

More serious are the technical problems 
involved. National Television System Com- 
mittee standards were designed to compact 
the maximum amount of useful color 
information into the minimum bandwidth. 
The standards accomplish this goal well, but 
they require that the color information in 
the video signal be highly encoded. Hence 
the hobbyist must either encode his color 
data or extensively modify his set. Also 
there are the traditional color television 
bugaboos of convergence and excessive 
X-ray exposure to consider, since the average 
viewer to screen distance for most computer 
10 applications is likely to be less than the 
viewer to screen distance for conventional 
viewing. 

One can also brood over the inherent 
resolution limitations of National Television 



System Committee color television. The 
National Television System Committee, as 
you may recall, was the engineering group 
which developed US color television specifi- 
cations. If high speed memory prices con- 
tinue their expected decline, the cost of 
storing a high resolution picture will become 
insignificant when compared with other 
system costs. The personal computing 
experimenter may find that the resolution of 
his computer graphics is limited only by the 
construction of his CRT and the bandwidth 
of its driving circuitry. For standard color 
televisions the chrominance bandwidth is 
much less than the luminance bandwidth 
and thus the color change resolution is 
rather limited. Even if the color picture tube 
were to be driven by high bandwidth cir- 
cuitry, color change and intensity change 
resolution would still be limited to about 
500 X 500 = 250,000 points by the shadow 
mask inherent in the tube. Ot course, it is 
possible to build a higher resolution shadow 
mask tube, but one must remember that 
color picture tubes are affordable only 
because they are mass produced. There is 
currently little demand for high resolution 
color tubes. 

The preceding discussion is not an 
attempt to quench the reader's desire to 
have his microcomputer spew data in living 
color. A look at the impressive outputs from 
the Cromemco or Intecolor devices would 
rekindle this desire anyway. The discussion 
is intended only as an effort to legitimize the 
search for an alternative. Is there a viable 
alternative to standardized shadow mask 



44 



SYNCHRO-SOUND ENTERPRISES 



*** NEW *** 
ADM-3A KIT 



PRESENTS 



IMSAI 8080 MICROPROCESSOR 




24 line X 80 column 
VIDEO TERMINAL KIT 



IMSAI ALSO AVAILABLE WITH Z-80 




FEATURING THE FOLLOWING PRODUCTS 
LEAR SIEGLER DIGITAL EQUIPMENT CORPORATION 

IMS ASSOCIATES, INC. DEC WRITERS 

CROMEMCO PROCESSOR TECHNOLOGY 

SOUTHWEST TECHNICAL PRODUCTS APPLE COMPUTER 

TECHNICAL DESIGN LABS (Z-80) OLIVER AUDIO ENGINEERING 

WORKING MODELS ON DISPLAY AT OUR NEW SHOWROOM 
CALL OR WRITE FOR STORE HOURS 9-5 

DISCOUNT PRICE LIST TUESDAY - SATURDAY 

PHONE ORDERS SYNCHRO-SOUND ENTERPRISES 

(212) 468-7067 193-25 JAMAICA AV 

All IMSAI products in stock for immediate delivery. HOLLIS NY 11423 



45 



WALL OR OTHER REFLECTIVE SURFACE 





Figure 2: A suggested 
geometry of illumination 
for viewing the Benham 
disk. 




color for real time computer output in 
color? The surprising answer is yes! 

Subjective Color . . . 

There is a long known but little discussed 
method of making black and white images 
which are properly modulated appear in 
color. This method employs an optical illu- 
sion known as the Prevost-Fechner-Benham 
effect. The colors which result are called 
Fechner's colors or subjective colors. 

One can modify most video display inter- 
faces or television typewriters to produce 
subjective color output on a standard black 
and white television. The modifications are 
entirely electronic and do not involve mov- 
ing filters, special glasses, or Rube Goldberg 
mechanical contraptions. Most viewers agree 
that the colors which are produced, although 
not competitive with NTSC colors in satura- 
tion and brilliance, are impressive. 

Subjective color television does have its 
limitations, however. It works best in pro- 
ducing sensations of the primary colors: red, 
green and blue. Other colors can be pro- 
duced, but only at some loss in saturation. 
Subjective color can be made to appear only 
in relatively small areas of the screen which 
lie against a white background, but this is 
not a significant problem in most computer 
10 applications. For instance, one cannot 
cause the entire screen of a black and white 
TV to appear in a subjective red. However, 
one can cause red, green or blue dots, lines 
or letters to appear against a white surround. 
Finally, due to the nature of the modulation 
which produces the illusion of color, subjec- 
tive color images have a noticeable flicker. 

. . . And Its Origin 

The Prevost-Fechner-Benham effect is 
named after its discoverers and developers. 
Benedict Prevost was a French monk who in 
1826 discovered that a black and white 



object which was moved through a beam of 
light in a darkened room could produce a 
variety of colors. G T Fechner, a German 
physicist, developed a disk in 1838, with 
black and white areas which produced sub- 
jective colors when rotated. Subjective color 
was not heard from again until 1894 and 
1 895 when C E Benham published papers on 
"The Artificial Spectrum Top" in the 
journal, Nature. Benham developed a disk 
that is particularly efficient in producing 
subjective colors and it is reproduced in 
figure 1. 

Just as there is a small percentage of the 
population which is colorblind, some people 
do not see subjective color. These two 
groups of people do not coincide. Some 
otherwise colorblind people see the entire 
spectrum of subjective colors. To find out if 
you can see subjective colors, draw your 
own Benham disk or make a photo copy of 
figure 1 and mount it on a piece of 
cardboard. The large black area will likely 
not photo copy well, so darken it with a 
black felt tip marker. You may also need to 
go over the black arcs with a ballpoint pen. 
High contrast between the black and the 
white areas of the disk will produce the best 
subjective color. Stick a straight pin through 
the center of the disk and cement the head 
of the pin to the topside. Then go into a 
room that is lit by incandescent lamps and 
rotate the disk between your thumb and 
forefinger at approximately five to ten 
revolutions per second. Experiment with 
slightly different speeds until you see the 
colors listed in the caption to figure 1 . I have 
found that the geometry shown in figure 2 is 
one of the best for viewing the disk if a 
single source is used for illumination. Notice 
that the light as well as the disk is within the 
field of vision. 

It must be emphasized that subjective 
colors do not result from any change in the 
wavelength distribution of the light which is 
reflected from the disk. If a one second time 
exposure were to be made of a spinning 
Benham disk on color film, the result would 
be a light grey disk with dark grey circles. 
The colors result from a temporal optical 
illusion. Television makes use of another 
temporal optical illusion: The flicker fusion 
which causes single frames shown in rapid 
succession gives the appearance of con- 
tinuous movement on the screen. The 
explanation of subjective color is probably 
partly psychological, due to the mental 
interpretation of black and white areas of 
contrast, and partly physiological, due to the 
differing response and decay times of various 
color receptors. However, the precise reason 
for the effect remains unknown. 



46 



How To Make Your Computer 
Even More Boring . . . 




Interface it with a Midwest Scientific Instruments FD-8 
Floppy Disk Memory System. . .with all your disk software 
on our PROM /RAM Board. 

With our FD-8 system and FDOS firmware, your com- 
puter is always ready to go. With the disk operating 
routines on PROMS, all you have to do is load your desired 
program from disk and start running. Of course you may 
•Mohave to wait 5 or 10 seconds for your program to 



The FD-8 interfaces to any micro- 
computer system via a single PIA chip., 
and all of our available software is 
included at no additional charge. 

MSI FDOS operating system software 
has many outstanding features. . . 

• Automatic program loading and linkag 

• Auto error recovery 

• Dynamic space allocation and file 
extension 

• Utilities for file listing, copying, 
deleting, or renaming 

The FD-8 is 
complete, including 
cabinet, all power 
supplies, and cables. 

Prices : 

FD-8 Floppy Disk System 

Kit $950.00 

FD-8 System Wired 

and Tested $1,195.00 

PROM/RAM Kit (SwTPC 

6800 or 8080) $95.00 

PROM /RAM Wired & Tested, 

with FDOS Firmware (specify 

6800 or 8800 System) $345.00 

PR-1 Programmer & 
Verification Module 

Designed to program 1702A PROMS, 
the MSI PR-1 interfaces with any 
microcomputer system via a single 
PIA chip. 

A complete software package is 
furnished with the system at no 
additional charge. This gives you the 
ability to transfer any area of memory 
to a PROM chip. . .read the contents 
of a PROM into memory. . .calculate 
checksums for ROMS. . .and duplicate 
ROMS. Following PROM programming, 
the software reads the PROM back 
into memory and compares each step 
with the memory content from which 
it was programmed for verification. 

The PR-1 is complete, including 
cabinet and power supplies. 
PR-1 $325.00 




Send for New 
Free Catalog 



THtdneU Scientific 

220 West Cedar 

Olathe, Kansas 66061 

913/764-3273 

TWX 910 749 6403 (MSI OLAT) 



Here are two MSI Dealers who can show 
you our products in action 
Microcomputer Systems, Inc., 144 S. Dale 
Mabry Ave., Tampa, Florida 33609 
813/879-4301 

American Microprocessors, Equipment & 
Supply Corp., Chicagoland Airport, 
P.O. Box 515, Prairie View, Illinois 60069 
312/634-0076 



• Before I forget. . .send me information 
•about the FD-8 Memory System. . .and 

• your new catalog. 

• 

„ Name 



"Address 
• City 



State 



Zip 



BY177 



MSI is a dealer for Southwest Technical Products • Mastercharge & Bank Americard Orders Accepted 



The Color Code . . . 

Just how does one go about adding 
subjective color to a video display? Unfor- 
tunately, the large number of varying video 
display interfaces and television typewriters 
which are now available make it impossible 
to give a single cookbook approach. Thus, it 
will be explained rather precisely what the 
effects of the modifications must be and 
then some general suggestions will be given 
as to how to implement these effects. The 
rest is up to the reader. Suggestions will only 
be directed toward the goal of implementing 
the primary colors. Nonprimary colors can 
be produced, but the results are less impres- 
sive and the price is a considerable increase 
in the complexity of the necessary 
modifications. 

American computer hobbyists are fortu- 
nate in that the 30 frames per second NTSC 
standard supports subjective color almost 
optimally. The European standard of 25 
frames per second is much less attractive. 

The code which produces subjective color 
can be read from a Benham disk. Think of 
the television display in terms of subjective 
color cycles. Each such cycle lasts for one 
fifth of a second and comprises six complete 
video frames, each lasting one thirtieth of a 
second. One cycle corresponds to one 
revolution of a Benham disk. For the first 
three frames of each subjective color cycle, 
the entire CRT display must be black. 
During the fourth frame only those portions 
of the display that you want to appear as red 
should be black. The rest of the display must 



0.2 SECONDS, ONE SUBJECTIVE COLOR CYCLE 

4 ^ 

L 

r 



CCK 



GREEN 



1_ 



CSI 


CS2 


COLOR 








BLACK 


1 

1 




1 


RED 
GREEN 





1 


BLUE 



be white. During the fifth frame, those areas 
of the screen that you want to appear as 
green should be black and the surrounding 
display should be white, including the areas 
that were black during the fourth frame. 
During the sixth frame those areas that you 
want to appear as blue should be black. The 
rest of the display should be white. A new 
cycle should then begin with the start of the 
very next frame. 

There is one exception to the code given 
above. Those portions of the display that 
you want to appear as black should be black 
during all three of frames four, five, and six 
of each cycle. 

. . .And Its Implementation 

Now for some suggestions as to how to 
implement the subjective color. Comments 
will be directed toward some idealized 
reader who is familiar with television ter- 
minology and who has a video interface 
which produces typical television display 
functions. That is, it produces dot matrix 
characters on a conventional black and white 
television from ASCII coded input. How- 
ever, many of the suggestions will be useful 
in graphics oriented applications as well. 

It is possible that some currently available 
or soon to be available video interface is so 
versatile that subjective color can be imple- 
mented using software alone. Our discussion 
will be directed toward its implementation 
with hardware. 

Most video interfaces are set up to pro- 
vide white dot matrix characters against a 
black surround. Subjective color requires 
black characters against a white surround. 
This requirement suggests that interfaces 
which support interlacing are to be preferred 
for this application over those that do not. 
Unfortunately, the popular low cost inter- 
faces such as Southwest Tech's TVT II and 
Processor Technology's VDM-1 do not inter- 
lace since doing so would greatly complicate 
their timing circuits. Luckily, a lack of 
interlacing is not a serious problem in the 
creation of subjective color for typical 
viewer to screen distances. Use of a small 
monitor minimizes the effect of dark spaces 
between lines. 

VDM-1 can provide a black on white 
image under software control. With other 
interfaces, providing this feature may be as 
simple as inverting the output of the charac- 
ter generator's shift register. However, it is 
conceivable that doing so could affect the 
generation of the vertical and horizontal 
sync pulses so check the circuit diagram of 



Figure 3: Subjective color timing pulses. 



Continued on page 116 



48 



Experience 

the excitement of owning the finest 

personal computer - 

IMSAI 8080 



Waiting for you — all the incredible 
performance and power of the 
IMSAI 8080. And at a price you 
would normally pay for a home 
music system: $699 in kit; $931 
assembled. 
WORLD OF USES 
The IMSAI 8080 is a superbly 
engineered, quality computer. It is 
versatile, expandable and power- 
putting literally hundreds of 



applications and uses at your 
fingertips. Imagine sitting at your 
desk and enjoying interaction with 
your IMSAI 8080! Press the on 
switch and you're ready for game 
playing, research, education, busi- 
ness applications, or for laboratory 
instrument control. It has all the 
power you need, and more, to 
make your application ideas come 
alive. 

GROWS WITH YOU 
The IMSAI 8080 is designed for 
many years of pleasure. With its 
open-chassis engineering you can 
expand your system by adding 
peripherals and interfaces. The 22- 
slots and 28 amp power supply 
mean that you can plug-in today's, 
plus tomorrow's modules. 





Right now you can add a module 
for displaying color graphics and 
characters on TV; a ready- to- use 
keyboard; small and large printers, 
and a single interface that lets 
you attach multiple devices includ- 
ing a cassette tape recorder. Ex- 
pect the latest, exciting equipment 
from IMSAI. We are committed 
to leadership in this expanding 
technology. 

EASY TO PROGRAM 
With our BASIC language you 
can operate the IMSAI 8080 
quickly and easily. Technically 
knowledgeable? Use our assembly 
language to develop sophisticated 
and unique software. 



If you're thinking personal computer, 
treat yourself to the very best — 
IMSAI 8080 

ad for free four-color brochure 
or $1 for catalog. Call or write for 
name of nearest dealer. 



I 



IMSAI 

IMSAI Manufacturing Corporation 

14860 Wicks Blvd. 
San Leandro. CA 94577 
(415)483-2093 
TWX 910-366 7287 



European Distributor 

Harper Industry Products, Ltd, 
6079 Sprendlingen 2 
West Germany 



Prices: USA Domestic 




Serial Storage Media: 

An Introduction and Glossary 



Brian D Murphy 
72 Circuit Dr 
Riverside Rl 02915 



Brian Murphy has been 
professionally involved in 
the computer business for 
more than eight years, at 
all levels of programming 
and usage. His experiences 
range from scientific and 
simulation software on 
large machines to the 
world of personal micro- 
computers. He is currently 
employed by the US Navy. 



This is an introduction to the use of a 
cassette type recorder for mass storage of 
information. Once the initial novelty of the 
small computer system has worn away, a 
junction occurs at which the computer freak 
either matures or puts his (or her) system on 
the market and moves on to something else 
like stamp collecting. If a person has a valid 
interest in the uses of computer technology, 
however, he or she soon finds self in a 
bind as regards the permanent or semi- 
permanent storage of programs or data on 
something more easy to transfer into his/her 
computer than paper. If a hobbyist is limited 
by funds (or by spouse), he or she soon 
learns that the only media suitable for 
his/her storage is magnetic tape utilizing a 
cassette recorder. He/she now has available a 
primitive serial access device. The word 
"serial" has the same root as "series," which 
means (in a very loose definition) one thing 
following on the tail of another. If you walk 
down a corridor to a particular room you are 



— ^Technique 










Vocal 


Digital 


Position 


Characteristic ^^"--^^ 


ID 


ID 


ID 


Access Time 


Medium 


Worst 


Best 


Amount of Manual 








Interaction (Play, 


Worst 


Best 


Medium 


Rewind Pushing) 








Tape Utilization 








(Minimum Wasted 


Medium 


Worst 


Best 


Tape) 









Table I: Comparisons of Manually Controlled Cassette Information Manage- 
ment Techniques. A rudimentary file storage system is possible with manually 
controlled cassettes, essentially variations of what people used to do with 
paper tape file systems. A file system is a way of locating logically grouped 
records in the mass storage medium. For manual recorders this can be done 
by listening for voice identifications through a loud speaker, by running the 
tape and matching against a desired block identification recorded with the 
records, or by looking at the tape position counter. 



applying serial access to the problem of 
locating the room you want to enter: Each 
door is passed in turn. Thus serial access is 
quite different from random access (such as 
in your computer's memory), where you 
arrive immediately at your destination (simi- 
lar to teleporting yourself directly to the 
room you wish to enter). One goal of this 
article is to familiarize the novice reader 
with the computer industry concepts and 
terminology. To this end, we include a 
glossary that will hopefully define those 
terms with which you may not be familiar. 
Also included is a book list for your bedtime 
reading pleasure. 

A cassette type recording medium is the 
most economically attractive alternative for 
the small system at this time. The cassette 
recorder as it comes off the dealer's shelf, 
however, is awkward to use in a computer 
system. There are three general methods, 
appealing because they are inexpensive, 
available for using such a device. The three 
general filing system methods for using a 
manually controlled cassette device for mass 
storage are detailed below: 

• Identify each recording by prefacing it 
with a vocal recording (vocal id). 
Simply record your verbal description 
of a block before beginning the mark 
tone which precedes data. 

• Use software to sense for a recorded 
digital code while searching the tape 
(digital id). This allows automatic 
search at normal data rates, but can 
take a long time. 

• Buy a more expensive audio recorder 
with a mechanical position readout 
and maintain a written record of tape 
usage (position id). Here the manual 
cuing controls of the recorder get you 
to a desired block very quickly. 

The cassette used in one of these fashions is 
essentially a replacement for paper tape and 
like paper tape requires manual (or at most, 



50 



aulomalic motor control) operation. Each of 
these techniques has its own advantages and 
disadvantages as shown in table 1. 

As the personal computing user becomes 
more sophisticated, he or she will soon find 
a need to have an electronically controlled 
recorder available for his/her use along with 
software of a more sophisticated file system. 
Such a software controlled recorder can 
automatically search the tape for a requested 
recording, going forward or backward as 
required, and loading in the desired data. 
The file system is a neat software utility that 
can operate separately or, for the more 
advanced, as part of an operating system. 
The remainder of this article will acquaint 
the novice with some of the characteristics 
of automatically controlled serial storage 
and the tradeoffs and physical considera- 
tions inherent in its nature. No attempt is 
made to go into the much larger subject of 
file systems. 

As was mentioned previously, searching 
for a particular item in serial storage requires 
looking (humanly or via software) at identi- 
fying material that accompanies the desired 
recording. For tape media, the looking pro- 
ceeds in a serial fashion until the desired 
record is located. A record is a group of 
bytes or words representing the data stored. 
Tine time that it takes to locate the desired 
record is called access time, and in measuring 
the efficiency of the device in general, 
average access time. A serial device has an 
access time of T*(N— 1) to find the Nth 
record, if all records are the same length and 
the time to get to the second record isT. If 
the records are of variable length, the access 
time will be the sum of all the times to pass 
by each preceeding record. The average 
access time would be the time it takes to 
search half the recorded tape. The software 
must have a way to tell one record from 
another, or in fact when one record ends and 
another begins. In a simple record file 
system, each record is preceeded by a tape 
mark which signals the start of a record. 
Tape marks are distinctive in nature and are 
composed, for example, of a number of 
special characters of predetermined count 
(the ASCII SYN character is sometimes 
used). Following the tape mark is identifying 
material, and the record itself followed by a 
checksum (see the glossary). A sample lay- 



out of a typical tape (or format) is shown in 
figure 1. Associated with each recording are 
inter-record gaps. The gaps are areas on tape 
that contain no meaningful data. They exist 
due to the physical limitations of the 
recorder and represent the time the motor 
takes to start or stop. These "gap waste" and 
may consume a considerable amount of the 
tape of an unwary user. 

To appreciate the impact of gap waste it 
is necessary to understand the physical 
aspects of the recorder and tape medium. 
The amount of information that can be 
recorded or read during a given time is 
determined by the transfer rate of the 
recorder. Transfer rate is measured in bits 
per second (bps) and is a function of 
recording density, tape speed, and the 
recorder electronics. The recording density is 
the number of bits that are stored on one 
inch of the tape, measured in bits per inch 
(bpi). Now we can relate inter-record gap to 
a physical situation. Suppose we have a 
recorder with a transfer rate of 2400 bits per 
second and a motor start or stop time of 0.5 
seconds, with a linear speed change during 
that interval. This is a model which demon- 
strates the problem of gaps; in actual sys- 
tems the start time might differ from the 
stop time, and the curve would probably not 
be linear. Using this simplified model, since 
the stopped rate is inches per second, and 
the "started" rate is the full tape speed, the 
linear speed change implies an average speed 
of the tape during the interval change which 
is exactly half of the full speed. Thus, during 
the transition interval, exactly half of the 
tape which would have gone by at full speed 




INTER- 
RECORD 
GAP 



TAPE ! 
MARK- 1 



m 



RECORD- 1 t t ^TAPE 

CHECKSUM INTER- MARK 

RECORD 
GAP 



Figure I : Format of a Fypical Magnetic Tape Record. This diagram can be 
viewed as a timing diagram (from left to right), or as its equivalent, a physical 
map of a tape which is moved past a fixed head from left to right. In this 
conception, a record is preceded by an inter-record gap, followed by a 
software (or hardware) coordinated tape mark for synchronization, then (if a 
file system is employed) some software identification information and finally 
the data of the record. A trailer of a checksum is often used for error 
detection, after which an inter-record gap precedes the next item on the tape. 



51 



is wasted in the gap. At full speed, with a 
2400 bps transfer rate, 0.5 seconds would 
have recorded 1200 bits, so the tape which is 
lost to the gap during speed changes corre- 
sponds lo 600 bits in this case, or 75 bytes. 
Since each record is surrounded by a startup 
leader and a slowdown trailer, the total gap 
is the sum of these components, or the 
length of tape which would have stored 
75+75=150 bytes in this particular model. 
This should be a clue as to why small 
physical records are wasters of tape. Con- 




INTER 

RECORD 

GAP 



R- t TAPE t 
)RO MARK- 1 



t 
BLOCK 
ID 

BLOCK 
STRUCTURE 



Ml 



CHECKSUM 
I 



CHECKSUM 
N 



-TAPE 
MARK 



LOGICAL 
RECORD 



LOGICAL 
RECORD 

N 



INTER- 
RECORD 
GAP 



Figure 2: A Blocked Magnetic Tape Format. Instead of immediately ending 
the recording operation, the physical record can be formatted to contain 
multiple logical records, so that the number of gaps required is reduced. 
Blocking is a very common software practice whenever computers get large 
enough to allow several thousand bytes to be used for 10 buffers in which the 
blocked records can be built and decoded by software. 



sider a logical print line record of 72 
characters (fixed length) which is to be 
stored on tape for later use with a Teletype 
or its equivalent. If I were to store 72 bytes 
per physical record, making the logical and 
physical record equivalent, then each record 
would occupy the space on tape which could 



^\^^ Type 






Characteristic^*. 


Blocked 


Unblocked 


Tape Utilization 


Higher* 


Lower 


Access Time 


Faster* 


Slower 


Software Complexity 


Higher 


Lower* 


Computer Memory 
Needed to Process 


More 


Less* 


Computer Time 
Needed to Process 


Longer 


Shorter* 



Table 2: A Comparison of Blocked versus 
Unblocked Record Formats. This table iden- 
tifies general qualitative characteristics of 
the two forms. The asterisks identify 
qualities which are often desirable. 



GLOSSARY 

Access time: The time required to locate a par- 
ticular record on the storage medium. 

Average access time: The amount of time required, 
on the average, to locate an item on the storage 
medium. On tape the average time is the time it 
takes to search half the recorded tape. 

Blocking: A method for collecting logical records 
into a single physical record on the storage 
medium, thus minimizing inter-record gaps. 

Checksum: A value calculated from the data which 
is used to help determine if data transferred from 
one medium to another is correct. If a record is 
read from tape and a temporary electronic error 
occurs that alters the data being sent, the check- 
sum may signal an error. A simple checksum is 
generated by treating each byte or word recorded 
as a number, adding each such byte or word into a 
total as it is recorded. Overflow is ignored, and the 
final total is recorded on the tape with the record. 
This particular method, while simple, is not fool- 
proof. Many more elaborate techniques exist which 
even allow for correction of an error. The same 
procedure is followed on subsequent reading of the 
record, and the final total is compared against the 
recorded checksum. If the two values do not 
match, an error has occurred. 



surrounding the beginning and end of a recorded 
section of tape. The gap exists due to the nonzero 
startup and stop time of the recorder's motor. 

Logical record: A contiguous recording of a block 
of bytes or words that has a separate identity. An 
example of a logical record is the recording of one 
program. 

Physical record: Also a block, this term refers to a 
continuous collection of logical records grouped 
together without gaps. The purpose of the physical 
record is to conserve storage medium. One physical 
record might conceivably have multiple logical 
records, or only a portion of a logical record. 

Record: A record is a string (or block) of data 
recorded on the medium that is separated from 
other records by inter-record gaps. 

Recording density: The number of bits stored on 
one inch of tape. The units of measurement are 
bits per inch (bpi). 

SYN: The "synchronization" character. It has the 
ASCII hexadecimal value 16. 

Tape mark: A distinctive recording at the begin- 
ning of a tape record signaling the beginning of a 
record. It must be distinguishable from data to 
avoid confusion. 



Format: The manner in which data is grouped to 
allow organized access and handling of the data. 

Gap waste: The amount of storage space wasted by 
inter-record gaps. 

Inter-record gaps: That portion of unused tape 



Transfer rate: The number of bits per second (bpi) 
a given device can transmit. In commercial drives, 
this rate varies from design to design, even given 
identical recording density and format. For audio 
recording of data, it is largely a function of the 
interface modulator and demodulator and for the 
most part is independent of the tape recorder. 



52 



store 72+1 50=222 bytes if the gap were not 
present. The utilization of the tape is thus 
72/222 or about 32%. If, instead of a 72 
byte physical record, we use some IO 
software and a blocking factor of (for 
example) 25 logical records per physical 
record, physical space on the tape for each 
record is 1800+150 or the equivalent of 
1950 bytes, which has a utilization of 
1800/1950=92%. Thus the answer to maxi- 
mizing the use of tape space is to be found 
in the practice of blocking and the use of file 
systems with moderately large buffer areas 
in memory. 

Blocking is this practice of grouping 
multiple logical records into each physical 
record. Suppose you have a number of small 
records to save and want to eliminate gap 
waste as much as possible. By creating a 
"block," which is a contiguous group of 
records, you can treat the block as a large 
physical record which is in reality composed 
of a number of smaller logical records, as in 
figure 2. Each logical record is one of the 
individual records that you originally wished 
to store. Now there will be gap waste only 
around the physical records (blocks), and 
thus the wasted tape will be greatly reduced. 
The problem now becomes one of finding 
the correct block and locating the proper 
logical record within it via software. The 
mechanism which allows you to do this and 
other neat things like calling records by 
alphanumeric string names is the file system. 
However, blocking is not without disadvan- 
tages, not the least of which is memory 
requirements. In big systems, block sizes 
often range into the thousands of bytes, and 
various "multiple buffering" techniques 
require alternating regions. In a large 
IBM/370 program (say 1 00 K to 200 K 
bytes) it is not uncommon to find 30 K to 
50 K bytes used only for buffers: Some of 
the pros and cons of record blocking are 
shown in table 2. 

Armed with the information in this short 
tutorial and glossary, the novice reader, it is 
hoped, will have a better appreciation of the 
concepts of information storage adapted for 
inexpensive computers. ■ 



SUGGESTED READING 

These books are contemporary texts, which 
should be available at most good technical li- 
braries and college book stores. 

Operating Systems: a pragmatic approach, Harry 
Katzan Jr, Van Nostrand Reinhold Co. 

Systems Programming, John J Dovovan, McGraw- 
Hill. 

Computer Organization and Programming, William 
C Gear, McGraw-Hill. 



Now... unlimited 
video versatility for 
S-100 bus systems at 
an affordable price! 



vfcteo system e- '■sit&bk. Yois get has^s-on 
control without being boxed in by the 
hardware. Plus, the VB1 offers both Video 
reverse and graphics with the convenience 
of no internal hardware adjustments. 

There's more: 

• On board dip switch selection of 32 or 64 
characters per line with 16 display lines. 

• Upper and lower case and greek 
alphabet — other interchangeable fonts 
available. 

• 2x3 matrix graphics. 

• Parallel and composite video outputs to video 
monitor or TV set. 

The VB1 software package is a hobbyist's dream. 
It's designed for flexibility and expansion plus it gives 
you exceptional control over the cursor, character 
and graphics selection, home up, end-of-line and a 
lot more. 

$179.95 in easy-to-assemble kit form including 
complete assembly instructions, documentation 
and software manuals. $249.95 assembled. 

The VB1 is available through your local computer 
store — or direct — along with our other S-100 bus 
compatible products including memory, I/O mother 
and extender boards. 

r~H jhf-^rr^r~Y t 1 A Division ° f s ° |id sta,e Music 

2102A Walsh Avenue, Sanla Clara. CA 95050 
(408) 246-2707 

See us at the First West Coast 
Computer Faire in San Francisco 
April 16th & 17th 
Booths 323 & 325 

We're the blue 
boards. 




o 

0: 0: : 

i 

o 



Audible Interrupts for Humans 



Dr Charles F Douds 
381 Poplar St 
Winnetka I L 60093 



o -;•;- o 



One of the great virtues of computers is 
that their flexibility allows them to do all 
kinds of things to make our lives easier or 
better. 

Unfortunately, systems analysts and pro- 
grammers working on big systems some- 
times tend to forget this. Microprocessors 
can make things easier and more fun for us, 
too. But we sometimes forget the basic 
principle of human engineering: People 
should not be forced to fit the system; the 
system should fit the people. 

I almost forgot this when I was develop- 
ing my hardwired process control system. 
The design philosophy behind the whole 
system was that it was to take over certain 
jobs that the human operators were not 
interested in doing, while other more 
interesting jobs remained the operators' 
responsibility. There was no intention to 
make it a fully automatic system. This fits 
principles of good human engineering, but 
in the details I overlooked something. 

An output from the original system pre- 
sented a visual display to the operator. One 
state indicated that he could proceed as he 
wished; the other state indicated that he 
must come to a stop. A clearly visible dis- 
play was provided. The display consisted of 
a set of three vertical LEDs for go, and three 
horizontal ones for stop. The only trouble 
was that when people began using the sys- 
tem, they were often going when they 
should be stopping. 

What I had overlooked was that the 
operator would be, quite properly, watching 
the equipment he was running. Only when 
the LED display happened to be within his 



line of sight would he respond to them. 

To remedy this situation I could have 
hollered at the operators until they learned 
to watch the display as well as their equip- 
ment; or I could have used another one of 
their sensory inputs. The first choice does 
use a sensory input other than vision. Why 
not just automate my hollering.'' That is 
what I did; only the end result sounds a lot 
better. Not only that, it provides additional 
information as well. It also indicates when 
the signal has cleared. 

What I did was to build an audio annunci- 
ator that is triggered by the same line that 
drives the display. When the line goes high, 
the device emits a one second beep. When it 
goes low, a boop sounds. Beep for slop; 
boop for go. It worked out quite well. 

The Circuit 

The audio burst is generated by two 555s 
or one 556 timing IC. IC2 is wired as a 
oneshot to determine the tone duration. The 
time is set by C4 and R1 1 . A negative going 
pulse on input pin 2 triggers the oneshot on. 
If your circuit creates a pulse, rather than a 
level change, the input should be connected 
here. 

The tone is generated by IC3. Its fre- 
quency is set by C5, R1 3 and R1 4. The ratio 
of R13 to R14 determines the pulse width. 
Diode D3 helps to provide more nearly a 
square wave. If pin 4 is connected directly to 
VCC temporarily, you can pick the resistor 
combination that gives the most pleasing 
tone. Connecting R1 5 from the output of the 
oneshot into pin 4 allows the free running 
oscillator to be turned on for the duration 



54 



INTRODUCING 




THE NEW 1977 IC MASTER 

THE FORMAT EXPLAINED: 

• FIVE MASTER SELECTION GUIDES — 84 companies' IC's organized by type, func- 
tion, key parameters 

• OVER 1,000 PAGES OF TECHNICAL INFORMATION — Provided directly by manu- 
facturers covering 17,000 IC's 

• ALTERNATE SOURCE DIRECTORY — The only industry-wide, pin-for-pin version 
available 

• MILITARY PARTS INDEX AND CROSS REFERENCE CHART — Identifies all IC's with 
JAN qualification 

• MILITARY DEVICE TESTING TABLE — List companies that screen to Mil. Std. 883 

• MILITARY PARTS INDEX — The first functional guide to JAN qualified parts 

• PART NUMBER INDEX — Parts from 84 manufacturers, in numerical sequence 

• APPLICATION NOTE DIRECTORY — Digest of currently active application note 
material 

• PRODUCT INDEX — Provides alphanumeric listing of 84 manufacturers' lines 

• PART NUMBER GUIDE — Instantly decodes each company's part numbering system ^^^^ J 

• MANUFACTURERS AND DISTRIBUTORS DIRECTORY / 




o\^ 



Virtually every IC device manufactured in the United States is listed in the 1977 IC MASTER. S 

The format has been improved, simplified and made even more complete. • 

The IC MASTER is the easy and sensible means of narrowing down your IC choices / 

quickly, accurately and systematically. All information is cross-referenced and indexed / <? ' 

for rapid problem solving and device selection. And, additionally, the MASTER is / ^ ^ 

updated three times yearly by accumulative supplements. / 4^ JT 

The 1977 IC MASTER is unique. It is the only compendium of its kind in exis- / ^ ^ 

fence at this time. Others may follow, but why wait? Your IC problems won't! / ^ «* 



/ 
/ 



'A 



Mail Coupon To: / \A ' 



■2? 



PATTI FOLEY / ~ , J* 



IC MASTER / j& 

645 Stewart Ave. / cS K 4 

Garden City, NY 11530 / / Op ^° 












s> 






Microcomputer pro 
with the Iasis 




The fact is that right now microcomputer program- 
ming is a bear. Microprocessors are loaded with subtle- 
ties which make software development a long, arduous 
process. That's why we developed the ia7301 Computer 
in a Book* It's a fully operational microcomputer system 
and a 250 page programming course all contained in a 
3-ring binder. This is not a kit or a toy but a powerful, 
microcomputer system (based on the industry standard, 
the 8080) and a practical programming course specifi- 
cally designed to quickly bring you up to a high level of 
understanding and proficiency in programming 8080 
based microcomputer systems. 

The Computer in a Book comes to you completely 
assembled and tested. All you need is an inexpensive 
dual voltage ( ! 12V & I 5V) power supply. The 5V 
is generated internally in the computer. There is nothing 
else to buy. 

A super programming course 

The programming course text is easy to follow and 
begins with a one instruction program to determine if 
a switch is open or closed. This is built upon and ex- 
panded, instruction by instruction, until 250 pages later, 
you become adept at programming complex problems 
like multi-byte arithmetic and games of skill like Pong™ 
Only with the Iasis Computer in a Book can you have 
the advantages of a handy programming text together 
with an operational computer to load and test programs 
each step of the way and thereby learn the intricacies 
of microcomputer programming at a comfortable pace. 

And since this microcomputer has a special built in 
monitor program which allows you to look into the 
operational parts of the system you'll never get bogged 
down in debugging or editing. The ia7301 Computer in 
a Book is the fastest way to learn everything about 
microcomputer programming. 



... RAM "AM 



k j keyboard! 

"liOPTtONALt I 

fry ! 

[OPTIONAL!] 

I/O 
10 




POWLR 
SUPPLY 



47301 CPU IK HAM 
2K PROM 
KEYS DISPLAYS 
TAPE INTERFACE 



ia7301 Compute 
Programming P 





Some great microcomputer features, too 

The microcomputer system features a 24 pad key- 
board, 8 seven segment LED readouts that display 
information in hexadecimal code which is far more 
versatile and advanced than binary or octal coded 
systems, and an onboard cassette tape interface for 
saving programs. The hexadecimal keyboard also con- 
tains 6 special mode keys which allow you to call up and 
change any data or instructions in the 8080 registers 
or in the system's RAM memory. Likewise programs 
can be executed instantly or they can be stepped 
through one instruction at a time using the appropriate 
mode key, so that you learn your way around the inner 
workings of an entire microcomputer system. 

Also the write tape and read tape mode keys have 
been carefully designed for accurate and convenient 
operation with any home cassette tape recorder that has 
an earphone and remote microphone jack. Two LED 
indicator lamps tell how long it takes to dump or reload 
programs from the system's memory onto tape and back 
again. But in the reloading cycle, if any errors have 
occurred such as a lost piece of data, or the volume knob 
is too low, the readout displays will indicate errors. This 
little feature prevents untold problems in debugging a 
reloaded program. 

Upwards expandability from the start 

We designed the Computer in a Book to be upwards 

anrl nnt hprnmp a U-lii/no in fho r-»r<~,/~occ The 



'U.S. Patent Pending 

Pong is a trademark of Atari, 



inc. 



We designed the Lomputer in a Book to be upwards 
expandable and not become a kluge in the process. The 
microcomputer contains IK bytes of RAM memory, IK 
bytes of PROM memory (containing the monitor pro- 
gram), and 2 I/O ports. The Computer in a Book is 
expandable to virtually any level you want, i.e. up to 
65K bytes of memory and 256 I/O ports. 

Optional expander boards are available and attach to 
the ia7301 computer at the top edge connector. A wide 
variety of standard interface boards can be plugged into 
the system to give add on memory, TV and teletype 
interface, and much more. Thus an educational system 
is easily upgraded into a full computer system. 



gramming is a snap 
mputer in a Book 




Also we are offering 

preprogrammed PROMs and 

extension cassette tapes so you can use your computer 

as a teaching machine for your children, as an inventory 

control system for your business or as an accounting 

system for your home. The Computer in a Book can 

become a computer for all reasons. 

A college assistance program 



A free bonus 

If you order 
your Computer 
in a Book before 
March 15, 1977, 
lasis will give you an 
$8.00 Microcomputer 
Applications Hand- 
book as a free bonus. 
It contains 144 pages of 
text, diagrams, and tables 
on hardware design and 
microcomputer applica- 
tions. Order today. If the 
Computer in a Book isn't 
everything we say it is, then 
return it within 15 days for 
a full refund and keep the 
Applications Handbook as a gift. We're sure you'll find 
that microcomputer programming is a snap with the 
ia7301 Computer in a Book. 



How to 
Set Up a 
Microcomputer 
Programming 
Course at 
Your College 



Educators interested in ex- 
posing their students to a 
comprehensive background in 
Microcomputer programming 
should look into the lasis 
Microcomputer Instructional 
Courses for their college or 
university. Send for our free 
pamphlet which describes 
ways of setting up short 
microcomputer programming 
courses. It offers some advice 
on structuring a coordinated 
and comprehensive program, 
so your students can learn 
programming and get valuable hands-on experience 
with operational systems at very reasonable prices. 

The price 

The complete Computer in a Book which includes an 
operational 8080 based system, 250 page programming 
course, machine code pad, hexadecimal conversion 
card all in a 3-ring binder is offered for only $450. The 
Computer in a Book has a 90 day parts and service 
warranty, lasis also provides a check out list and start 
up instructions with each system. Please allow 30 days 
for delivery. 




[] 



Charge my order to the credit card below: 

BankAmericard No 

Master Charge Ho 



For Master Charge card, put 4 digit number from 

above name here 

My Signature 

Credit card expiration date 



Name 

Finn 

Address 
City_ 



State 



-Zip- 



□ Please send me your pamphlet on setting up a Micro- 
computer Programming Course. 

Mail to: lasis Inc., 815 W. Maude, Suite 26, 
Sunnyvale, CA 94086 



(408)732-5700 



lasis inc. 




Tl : TRANSISTOR OUTPUT TRANS- 
FORMER, lOOOOHM(AC): 
8 OHM (AC) 



ICI POWER: +9V PIN 14 
6ND PIN 7 



Figure I : One way of pro- 
ducing audible tones on 
command. The input is 
shown as a switch, SI, at 
the left but could just as 
well be a signal derived 
from a single bit computer 
output. 



of the desired tone burst. The high fre- 
quency bypasses, C1 1 and C12, keep the 
circuit from being triggered or modulated by 
RF noise that is present on VCC and ground. 

The up and down trigger is formed from 
two operational amplifiers: ICI a connected 
as an inverting amplifier and IC1 b connected 
as a noninverting one. Their outputs are 
differentiated by C2 and R8 or C3 and R9 
to form a negative going spike when the 
input level goes up and again when it goes 
down. These spikes are ORed by D1 and D2 
into the oneshot's trigger input. 

This gives us a circuit that emits a tone 
whenever the input changes state. The two 
different tones are achieved by changing the 
input voltage to pin 5 of the tone generator. 
Connecting R12 between one of the opera- 
tional amplifier's output and this pin causes 
the tone to shift. 

The circuit worked well on 5 V. However, 
the volume from the speaker was less than I 
wanted. I had a poorly regulated 12 V avail- 
able, so I filtered it with R1 and C1. You 
may not need them. The small loudspeaker 
can be connected in many ways. I had a 
small, inexpensive Radio Shack audio output 
transformer that I used with a current 
limiting resistor in series connected directly 
to pin 3 of the tone generator. Volume can 
be increased by putting a 10-1 00 nV electro- 
lytic capacitor across R24. 

Almost any operational amplifier can be 
used. I used a quad LM3900, so I had two 
sections left over. On the breadboard version 
I wired these together as a mixer, then 
fed in an audio signal from a microphone 
and an interesting sounding audio frequency 
signal from the system controller. These 



were eliminated in the final version, but you 
might have a use for similar ideas. The total 
cost of the complete circuit including the 
speaker was under $5. 

But what is this system that I built? It is 
a complicated one compared to the 16 
toggle switches it now replaces in a 
model railroad layout. In its final version, 
the system will replace approximately 600 
toggle switches. More importantly, it saves 
many months of learning on the part of 
eight or ten people as they attempt to 
coordinate their actions in running trains on 
a schedule at a large model railroad club. 
Toggle switches are ordinarily used to direct 
the electrical power from each engineer's 
throttle to the section of track in which 
his train is running. The logic system takes 
over this job. Even after people learn which 
toggle switches to turn on, and when, they 
still forget to turn some of them off. Sooner 
or later this fouls everything up, sometimes 
in the most mysterious ways. The hardwired 
logic system breadboard has been working 
for about two years, but we are about to 
change over to a microprocessor system 
for installation in the G-C Model Railroad 
Club in Chicago. 

Take a look at your system design. How 
could it be better designed for people? Is 
there an action required by the operator 
at random times? Could you use an audible 
interrupt? Perhaps you have a long program 
on a cassette and you could use an audible 
signal when the 10 minute loading is com- 
plete. Or perhaps you have a data link 
that requires attention. There are many 
possible uses for an audio signal to provide 
good human engineering." 



58 



THE PERFECT MICROCOMPUTER 



pVcCCCH 



1 



*' tI0 ^«Hcmc. 



■ ■ 



If 



It's a two touch affair 



VECTOR 1 Is based on the 8080A Microprocessor and S-100 Bus • 
EASY TO ASSEMBLE, EASY TO ACCESSORIZE, EASY TO BUY AND VERY EASY TO OPERATE. 




T.M. 



lCR c^aphc inc. 



717 LAKEFIELD ROAD, SUITE F 
WESTLAKE VILLAGE, CA 91361 • (805) 4970733 



Cub 54, 



Ralph W Burhans 

Research Engineer and Lecturer 

Ohio University 

Electrical Engineering Dept 

Athens OH 45701 



What is Omega? 

The Omega navigation system is a radio 
based method which was originally designed 
as an ocean locating system for shipping, it 
was not intended for use over the world land 
masses. However, the signals are free to the 
user no matter where he/she is located and 
in a sense represent another worldwide 
resource particularly for those who have no 
other radio navigation aid available. In con- 
tinental USA urban areas, we have many 
VHF-UHF and microwave navigation aids 
for aircraft, so there is not much need for 
Omega except in remote mountain areas 



where line of sight propagation is restricted 
and the VLF-Omega is not disturbed. Omega 
in other parts of the world is often the only 
radio navigation aid available for planes and 
boats. Omega and other VLF systems arc 
often used by offshore oil drilling and 
marine exploration crews as a means of 
locating their rigs or vessels particularly 
while in transit to and from. 

The choice of frequencies and the time 
slot spacing is a historic matter based in part 
on the analog and servo mechanisms used 30 
years ago. Nowadays, we have digital proc- 
essing methods but some analog semicon- 
ductor receivers are still in use. Most notable 



Figure I: The worldwide Omega transmis- 
sion network. The Omega system uses a set 
of eight transmission points scattered around 
the globe, emitting a pattern of bursts of 
radio frequencies on a 10 second cycle as 
shown in the table. Each possible pair of 
transmitters sets up a pattern of "lines of 
position" consisting of a series of hyperbolas 
one can find on an appropriate map. To find 
a position, phase differences between the 
various transmitters define a location on the 
Omega grid. The microprocessor control of 
Mini-0 enables the experimenter to take 
advantage of Omega for shipboard or aerial 
navigation. 



Stations 




Norway (A) 
Liberia (B) 
Hawaii (C) 
North Dakota (D) 
La Reunion Island (E) 
Argentina (F) 
Australia- (Trinidad) (G) 
Japan (H) 



Start 








secon 
1.1 


j- 




St 


art 


.2 s 
0.9*~ 


ec 

~*i.0 1.1 1.2 


0.9 1.2 1.0 


0.9 


10.2 


13.6 


11.33 












10.2 




10.2 


13.6 


11.33 
















10.2 


13.6 


11.33 
















10.2 


13.6 


11.33 
















10.2 


13.6 


11.33 
















10.2 


13.6 


11.33 




11.33 












10.2 


13.6 


11.33 


13.6 


11.33 












10.2 


13.6 



frequency 



kHz 



time's arrow- 



62 




Are you tired of microcomputer literature being 
too technical, confusing or vague? Then you should 
find the lasis Microcomputer Applications Hand- 
book a welcome relief to both your intelligence and 
your wallet. 

It was expressly written for the reader who 
wants to learn everything about the world of micro- 
computers, especially 8080 based systems. It 
explores the advantages and applications of micro- 
computers in 144 pages of clear, easy reading text 
which is profusely illustrated with diagrams, sche- 
matics and charts. You'll be guided through all 
important decisions in designing a system to fit 
your needs. And you'll be apprised of the trade- 
falls and common pitfalls along the way. 

The lasis Microcomputer Applications Handbook 
tackles the roles of development and OEM systems 
from a practical, functional standpoint. Also one 
whole chapter is devoted to a comprehensive 
hardware design casebook for you hardware 
application buffs. 

We're certain you'll like the step-by-step attention 
paid to writing monitor programs, text editors, and 
assembler programs. 

And there's plenty more information on 8080 
system architecture and instruction sets. 

That's a lot of good news for $7.95. We think it's 
been overdue for some time. 



815 W.Maude Ave., Sunnyvale, CA 94086. Tele- 
phone: (408) 732-5700. TWX: 910-339-9311. 

Dealer inquiries invited. 

■^•■■■■■■■■■■■■■■■■■■■■■■■■■■■q 

□ Here's my check or money order for- 



lasis Microcomputer Applications Handbooks at 
$7.95 ea. Add $.50 for postage and handling if ordered 
after March 15, 1977 (Calif, residents please add $ .52 
state sales tax). 

□ Charge my order to the credit card number below: 

BankAmericard No 

Master Charge Ho 



For Master Charge, add 4-digit number from right 
above name. It is: 



Here's my Signature: 

Credit card expiration date: 
FIRM 



NAME 

ADDRESS- 
CITY 



STATE/ZIP_ 



tasis inc. 



Mail To: 

IASIS, INC., 

815 West Maude Avenue, Suite 27, 

Sunnyvale, California 94086 



What's 

New? 



It's Here at Last 

It usually takes some time between 
the announcement of a new processor 
chip and the availability of a product 
which uses it. Well, for the first time, 
there is a product on the market at a low 




price which uses the Texas Instruments 
9900 processor. The product is made by 
Technico Inc, Columbia MD, and is a 
single board computer measuring 7 by 
16 inches (18 cm by 41 cm) and 
containing the following logical charac- 
teristics: 

TMS-9900 processor 

monitor with 13 commands 

implemented 

on board programmer for 2708 UV 

erasable PROMs 

125 page manual on the system plus 

wall chart schematic 
The product is a processor board only, 
so the user will have to provide n 8 bit 
bytes of memory (organized as 16 bit 
words) where n is up to the capacity of 
the TMS-9900 address space, 64 K bytes. 
The price for this processor board, $269 
unassembled or $369, is probably one of 
the lowest priced ways of starting a 16 
bit homebrew system. 

According to the news release, 
Technico (which is located at 9130 Red 
Branch Rd, Columbia MD 21045) is a 
fully franchised Texas Instruments 
distributor. The engineering and design 
work for the TMS-9900 "Super Starter 
System" was done by Rosse Corp, 
Vienna VA. Information can be obtained 
by dialing toll free 1-800-638-2893. 
Dealer prices and OEM prices are 
available." 



What to Do with an 
Oliver Audio Reader . . . 

notes by Carl Helmers 

Oliver Audio makes the OP-80A 
paper tape reader, probably the least 
expensive way short of a homebrew 
project to obtain a paper tape reading 
facility. BYTE purchased one of these 
readers in order to be able to decode 
occasional strange letters to the editor 




that come on long sheets of very narrow 
paper with holes. Well, after loading in 
one program (Tom Pittman's Tiny 
BASIC for the 6800) and thereby debug- 
ging this form of input, I came to the 
conclusion that the box by itself lacks a 
certain degree of "solidness." It proved a 
bit difficult to hold the box, and for 
yellow paper tape the light levels proved 
to be critical, due to the translucent 
nature of the paper. So to provide a solid 
mounting, and a fixed but adjustable 
support for a lamp, I went to the 
woodshop, got out my saber saw, sliced 
up a random piece of 1 by 4 pine, used 
two 8 pound nails to attach a random 
piece of 2 by 4 vertically, then clamped 
the whole assembly to my bench. This 
photo, taken by Ed Crabtree at his 
studio, shows the result, using a sample 
of tape from a program submitted to 
BYTE. (Observant readers with an 
OP-80A and a critical eye will note one 
flaw in the photograph as shown 
here . . .) 

The OP-80A was mounted on the 
pine board by punching two holes in its 
back plate with a Roper-Whitney 5J 
punch (a hand tool available from 
industrial supply sources). Two screws 
were then used to hold it to the board, 
tightening to a point where the plate was 
still loose with a clearance to the board 
slightly under the thickness of the case's 
interlocking groove edge. Then, when 
the main part of the case is slid onto the 
plate, the bottom of the case is tightly 
held against the board. The final assem- 
bly step of securing the front side of the 
case with screws can then be 
performed." 

60 



Now. 



THE PERFECT MICROCOMPUTER 

VEGXH1 

DEALERS 

EAST COAST 

Computer Mart of New York, Inc. 

314 Fifth Avenue 

New York, New York 10001 

212-279-1048 

Computer Mart of Long Island 

2072 Front Street 

East Meadow, New York, New York 11554 

516-794-0510 

The Computer Mart of New Jersey 
501 Route 27 
Iselin, New Jersey 
201-283-0600 

The Computer Mart 

1097 Lexington 

Waltham, Massachusetts 02154 

617-899-4540 

WEST COAST 

Byte Shop of Westminster 
14300 Beach Blvd. 
Westminster, Ca. 92683 
714-894-9131 

Byte Shop 
18424 Ventura Blvd. 
Tarzana, Ca. 91356 
213-343-3919 

Byte Shop 

Palm Plaza 

Thousand Oaks, Ca. 91360 

805-497-9595 

Byte Shop 

2559 S. Bascom Ave. 

Campbell, Calif. 95008 

Kentucky Fried Computers 
2465 Fourth Street 
Berkeley, Ca. 94710 
415-549-0858 

MIDWEST 

DATA DOMAIN-the Personal Computer Stores 

INDIANA 

(Home office) 
406 S. College Ave. 
Bloomington 47401 
812-334-3607 

7027 Michigan Rd. 
Indianapolis 46268 
317-251-3139 

219 Columbia 

West Lafayette 47905 

(Opening early December) 

ILLINOIS 

(itty bitty machine co., inc.) 
1316 Chicago Ave. 
Evanston 60201 
312-328-6800 

42 W. Roosevelt 
Lombard 60148 

KENTUCKY 

506V2 Euclid Avenue 

Lexington 

606-233-3346 

3028 Hunsinger Lane 
Louisville 40220 
502-456-5242 

WISCONSIN 

2221 E. Capitol 
Shorewood 5321 1 
414-961-2430 

TEXAS 

The Micro Store 

634 S. Central Expressway 

Richardson, Texas 



cO=* graphic inc. 



717 LAKEFIELD RD., • SUITE F 
WESTLAKE VILLAGE, CA 91361 




Where Are You? 



(Or How to Navigate Using Mini-O) 



is the classic TRACOR Model 599 Omega 
receiver which has precision analog sample 
and hold phase locked loops with a 100 kHz 
reference clock. A few of these have even 
appeared on the surplus market. 

Prof J A Pierce of the Harvard University 
Crufts Laboratory is the inventor of Omega. 
He chose frequencies and spacings based on 
simple number ratios. For example, 10.2, 
11.33, and 13.6 are in the numerical ratios 
of 30 — 36 — 40, and can all be generated by 
integer division from a common 408 kHz 
clock frequency - thus 408/40 = 10.2, 
408/36 = 11.33, and 408/30 = 13.6. These 
gear ratios and decade multiples were impor- 
tant considerations in Pierce's ideas because 
of the widespread use of mechanical servo- 
mechanisms at the time. 

In the presently implemented version of 
Omega navigation, eight radio transmitters 
operate in the very low frequency (VLF) 
range of 10 to 14 kHz. Each station trans- 
mits a very stable frequency in such a way 
that a phase measurement of one station 
with respect to another can be made in a 
receiver which uses a suitable reference clock 
oscillator. Figure 1 shows the locations of 
the several Omega network stations cur- 
rently in operation around the world. By 
measuring the phase difference between two 
or more pairs of stations, so-called "lines of 
position" may be generated. The intersec- 
tion of two lines of position can be used to 
estimate the receiver position. The lines of 
position are hyperbolas which look like a 
skewed coordinate grid when plotted on a 
local area map such as in figure 2. Computed 
tables, charts, and diurnal (day-night) correc- 
tions are published on a worldwide basis by 
the US Defense Mapping Agency. The grid is 
very stable when the proper corrections are 
applied. The lowest frequency of 10.2 kHz 
results in a "lane" spacing of the lines of 
position of about 8 miles when measured on 
the great circle baseline connecting the two 
stations. Longer spacings are found, as 



g-c LOP 




HENDERSON WV 



Figure 2: The intersection of "lines of position" from two Omega station 
pairs is depicted in this map section near the author's location in Athens OH. 
The picture is drawn with north at the top. The lines of position from the 
Hawaii (C) and Trinidad (G) station pair run from the southwest corner to 
the northeast corner of this local map. The lines of position from the Hawaii 
(C) and North Dakota (D) station pair run from the northwest to southeast in 
this local map. Together, these sets of lines form a local Omega coordinate 
grid, which can be used while navigating a planned air trip from Albany 
Airport OH to Henderson WV as shown by the dashed line. To use Omega, 
maps or tables supplied by the US Coast Guard are a virtual necessity. 



63 



would be expected, for the extreme edges of 
the hyperbolic contours. 

In practice the usual Omega receiver 
works by measuring the phase between each 
station and a local clock reference. Phase 
differences are then obtained by subtracting 
these readings for selected station pairs. The 
phase differences convert directly to relative 
position and distance readings on a map. In 
Omega jargon, a cenlicycle is 1/1 00th of a 
cycle and directly convertible to 1/1 00th of 
a lane, called a centilanc. One lane represents 
a 360 phase difference or equivalent to a 
one cycle change in the phase as used in this 
hyperbolic mode of navigation. Thus a navi- 
gator in a boat or aircraft can plot his or her 
course on a map relative to the Omega lines 
of position grid, and observe the crossings of 
these lines, called lane changes, as he pro- 
ceeds to move along this course as in figure 
2. The time it takes to cross a lane can be 
converted with simple arithmetic and trigo- 
nometry into a direct estimate of the aircraft 
or boat velocity. The position of the vehicle 
with respect to the Omega grid can be 
estimated by measuring the lane crossing 
points for two or more lines of position. A 
continuous measure of relative velocity and 
position between lanes can be obtained by 
eye, sampled every 10 seconds, by observing 
a strip chart record of two station pairs 
chosen for the best grid geometry relative to 
the receiver's current position. 

The Omega system has eight stations 
throughout the world. Signals may be 
received up to 8000 nautical miles (about 
14,800 km). In theory at least three of the 
Omega stations can be received any place on 
earth. The system is synchronized with 
atomic clocks at each station. In 1976, the 
time for the start of the 10 second sequence 
of figure 1 was set so that station A in 
Norway will start its cycle about 5 seconds 
before the least significant digit of universal 
time is zero, or station D will start its 
sequence when the least significant digit of 
universal time is zero. (Universal time is the 
current version of what used to be called 
Greenwich Mean Time, an international time 
standard, formerly derived from astronomi- 
cal observation, now derived from atomic 
clocks.) For an observer in any of the 
standard time zones, where local time is "n" 
hours removed from universal time, when- 
ever the local time is xx:xx:x5 he or she 
would find the beginning of the sequence for 
station A, with a burst of 10.2 kHz lasting 
1.0 seconds. Incidentally, an Omega receiver 
can also operate as a time reference source 
for checking clocks since a single Omega 
station "ticks" at a 10 second rate, when 
measured on a single frequency such as 



10.2 kHz. In the most elementary Omega 
monitor receiver the amplitude of the "tick" 
can become a direct check on time. How- 
ever, because of the atmospheric noise and 
the rise time limitations of both the trans- 
mitter and receiver, it is not possible to 
obtain precise timing by measuring signal 
amplitudes. What is possible is the measure- 
ment of the phase of the Omega carrier with 
respect to a local reference oscillator, after 
the station turns on. Stations are transmit- 
ting for 0.9 to 1.2 second intervals with a 
gap of 0.2 seconds between each trans- 
mission. The gap insures that there is abso- 
lutely no overlap regardless of how far away 
the observer is from a particular transmitter. 

An "Omega Users Handbook" is being 
prepared by the US Coast Guard Omega 
Navigation System Operations Detail (USCG 
ONSOD), and will be available shortly. 
I Write US Coast Guard Headquarters, 
(G-ONSOD/43), 2/00 Second St SW, Wash- 
ington DC 20590. j ONSOD also supplies a 
daily Omega status report on a taped mes- 
sage which can be heard by dialing the 
phone numbers (202) 245-0298, Washington 
DC, or (808)235-2181, Hawaii. The 
National Bureau of Standards station WWV 
broadcasts an Omega status message at 16 
minutes past the hour within a 42 second 
time slot, on the shortwave frequencies of 
2.5, 5, 10, 15, and 20 MHz. 

Omega has been in experimental develop- 
ment for 30 years and has just recently 
become operational. Most receivers in pres- 
ent use are expensive, in the $5 k to $50 k 
class. As yet there is a lack of worldwide 
demand for lowcost sets, mainly because 
hardly anyone has heard about Omega. It is 
possible to receive Omega signals with rela- 
tively simple hardware involving a parts cost 
of $100 or so, including a reference clock 
oscillator, sequence timer, and interface for 
phase measurements with a microprocessor 
system. A complete hardwired digital sensor 
processor can be built for under $500 in 
parts including data display on a strip chart 
recorder. 

The advent of lowcost microprocessors 
and all the digital interfacing hardware alter- 
natives is an obvious choice for Omega 
receiver systems. Commercial Omega 
receivers are starting to use these methods 
although they still command a high price 
($11,000) because of the low volume of 
production. I wrote this article in the inter- 
est of reducing this cost and complexity 
problem to the bare essentials for the do-it- 
yourself electronics buff. There are many 
possible methods to consider. At our lab we 
have chosen what we believe to be the 
simplest methods, not necessarily the best. 



64 




It offers more* 
It costs less* 

No system is more complete. None is less expensive. OSI system boards and full 
documentation start at $29. Fully assembled systems at $439. Only you govern where 
they end. And OSI offers more features than ever. Full multiprocessing capabilities. An 
innovative full color graphics and alphanumeric video system. New options for even 
greater system expansion. New software. And two of the best-priced floppy disk options 
you'll ever see. See it all in the OSI catalog. Available now at your computer store or 
direct from OSI. 

□ Send me the free brochure on OSI kits and fully assembled computers. 

□ Send me the full line OSI catalog. $1.00 is enclosed. 




Ohio Scientific Instruments 

Dept. B 
11679 Hayden Street Hiram, Ohio 44234 
(216)569-7945 



As others become aware of Omega, it is very 
likely that further improvements and simpli- 
fications can be achieved. 

VLF (Very Low Frequencies) 

Frequencies in the 10 kHz to 20 kHz 
region propagate in a mode where the earth 
and its ionosphere form a cavity which acts 
as a spherically symmetric waveguide. At the 
low end of the range the ionosphere is only 
about 2 wavelengths (60 km) high and single 
mode transmissions may be received over 
very long ranges. 

For the simplest Omega propagation 
monitor or computerized do-it-yourself navi- 
gation aid, the single channel frequency of 
10.2 kHz is desirable. The higher frequency 
of 13.6 kHz will give somewhat more signal 
strength but more problems are created due 
to multimode transmissions. The ideal VLF 
frequencies which minimize diurnal changes 
in the received phase would be about 
11.9 kHz for daytime paths and 12.2 kHz 
for nighttime. It is interesting to note here 
that the USSR has an "Omega like" naviga- 
tion system which uses 11.905 kHz, 
12.649 kHz and 14.881kHz. The reason 
that these VLF methods use several different 
frequencies is to resolve the lane ambiguity 
to much greater than 8 nautical miles for the 
10.2 kHz case. Thus a difference frequency 
like 3.4 kHz can be generated from 13.6 — 
10.2 with a suitable complex receiver and 
processor system. For Omega, the 3.4 kHz 
would result in a 24 mile lane. However, a 
single frequency receiver can be used to 
provide correction on position when good 
dead-reckoning data is available from the 
navigator who keeps track of his/her course 
direction and independently estimates veloc- 
ity (or guesses it from wind drift, pitometer 
readings, air speed-temperature corrections, 
etc). Thus a single Omega frequency used 
completely without reference to anything 
else can only resolve position-velocity to 
within one Omega lines of position grid 
"square," and the problem is to decide 
which of many possible grid locations (sepa- 
rated by 8 mile intervals at 10.2 kHz) is the 
correct one. Of course the navigator should 
know from where he started and his destina- 
tion, so that at least the initial conditions for 
navigation are available. Then the Omega 
receiver along with dead-reckoning data can 
be combined to give a better estimate of the 
true position after starting along a known 
course line. In effect the Omega receiver can 
give an independent estimate of the vehicle 
velocity and the microprocessor or even the 
pocket calculator can help in manipulating 
the numbers involved in the computations. 

Because of atmospheric noise and other 



uncertainties in the propagation caused by 
sunspots or polar cap absorption, the typical 
Omega receiver resolves position to some- 
thing like ±1 nautical mile (1.8 km) when 
the diurnal correction tables are applied. For 
local area users, starting from a known 
point, a single frequency receiver should be 
able to resolve Omega positions to within 
± 14 mile (0.3 km) in the absence of gross 
interference to the received signals, over a 
short duration mission (one hour or so) that 
is not near sunrise or sunset. 

Another technique for improving the 
precision of Omega is to compare the navi- 
gator's received phase with a known ground 
station's received phase over a 100 mile 
radius for differential corrections. The local 
ground monitor has to transmit an almost 
continuous data stream of its Omega read- 
ings to insure that some short duration 
propagation anomalies did not cause a "lane 
jump" or some other error. The ground data 
is transmitted to the remote user via another 
radio link. Differential corrected monitor 
systems have been used to determine the 
position of weather balloons by having the 
Omega signals modulate a UHF carrier fre- 
quency retransmitting the data to ground 
stations where the data is processed. 

As with most radio communications 
systems, Omega suffers from the usual 
signal-to-noise problems for the ultimate 
resolution. The general atmospheric noise 
level caused by thundershowers on a world- 
wide basis creates field strengths of 10 to 
100;iiV per meter in a 30 Hz bandwidth at 
the Omega receiver antenna. The lowest 
detectable Omega signals may be only 
10 /UV, often buried in 100/iV of noise. 
Local thundershowers and 60 Hz harmonic 
interference also plague Omega users. Wire 
antennas are best for picking up strongest 
signals, but also respond just as well to all 
the noise. A loop antenna can discriminate 
against some noise due to directional nulls 
but suffers from the problem that the phase 
of the Omega station signal reverses when 
the loop is rotated through 180°. A much 
more complex receiver system is required 
when using a loop antenna system. 

Some Fine Points on the Omega System 

The suggested range for usable reception 
of Omega signals is 600 to 6000 nautical 
miles (1,000 to 10,000 km) from the trans- 
mitter. When a receiver is close to a station 
the phase measurement to that station will 
be in error because of multiple mode propa- 
gation. Another problem near a transmitter 
is that the receiver may need to reject the 
unwanted signal from the local transmitter 
in order to receive a desired signal of some 



66 




Cybersystems has put it all together, 

For Ton. 



Why go through the tedious, time 
consuming do-it-yourself "Kit Krazies" 
only to find what you've created only 
does half of what you expected it 
to do? 

There is an easier way. The Micro- 
cyber 1000 microcomputer from 
Cybersystems, Inc. This is not a kit 
but a fully assembled, tested and 
warranteed microcomputer. Many out- 
standing features include keyboard and 
display, ROM and RAM memory, pro- 
grammable timer, fully bussed, pro- 
grammable I/O - audio cassette inter- 
face, TTY and RS232C interface, 
operating system, fully documented 
(hardware and software) , powerful 
instruction set, internal power supply, 
I/O and memory expansion. 

The audio cassette feature permits 
programs and data to be bulk stored 



on regular cassette tape players. Entire 
software libraries can be stored and 
maintained on standard cassette tape. 
Standard programs are also available 
from Cybersystems. 

This low cost, high performance 
unit is fully warranteed by the company 
and is an ideal tool for education, 
experimentation, or for the hobbist. 

For more information write or 

call Cybersystems and let them put 

it all together for you. Master Charge 

and Bank Americard welcome. 

The Microcyber 1000, only $525. 

CYBERSYSTEMS, INC. 
"The Microprocessor People." 

CJBERSUSTEMS. INC. 



The Microcyber 1000 
Microcomputer 




B 



4306 Governors Dr. W. Huntsville, AL. 35805 [205] 837-2080 



V 



WHIP 
ANTENNA 



10.2 KHz 
FILTER-LIMITER 



COMPARATORS 



OMEGA 
-► ZERO 

CROSSINGS 



PREAMPLIFIER 
FRONT-END 



HKT 



AUTO- START 



ENVELOPE 



DIVIDERS 



IT 



SEQUENCE 
GENERATORS 



-\ STATION 
_/ SELECT 



TIME SLOT 
GATE 



40 Hz x 2 B 

RATE 

MULTIPLIER 



8-BIT 
COUNTER 



INTERFACE 



CONTROL " 
FROM ^P . 



OMEGA 
ZERO - 



ADDRESS 
DECODERS 



<*> 



k£ 



ENABLE 
8-BIT LATCH 



CROSSINGS 



JUL 



40 Hz 

BPLL FILTER 



2 -BIT STATUS 



-0 



6-BIT PHASE 



INTERRUPT 



40 Hz LOCKED 
OMEGA 



Figure 3: Block diagram of the Mini-0 system. The system is shown here in 
outline; details of the hardware are found in part 2 of this article. The 
microprocessor is a key element in the processing of Omega information, 
making it possible to save thousands of dollars relative to the least expensive 
commercial equipment. 



other transmitter on a different frequency. 
Thus the skirt selectivity or adjacent channel 
rejection capability of the receiver is of some 
importance. An example would be North 
Dakota transmitting on 11.333 kHz when 
trying to receive Argentina on 10.200 kHz, 
where the 11.333 signal might get into the 
10.200 front end. 

In the USA many observers will have 
trouble receiving the A channel from Nor- 
way. The path of the propagation over the 
Greenland icecap is severely attenuated. The 
ice acts like an absorber (similar to a giant 
size carbon wedge as often used in micro- 
wave waveguide attenuators). Omega is also 
affected by sunspot activity or any radiation 
that disturbs large blobs of the ionosphere. 

Omega signals may be received under- 
water. The "skin depth" of sea water at 
10 kHz is appreciable so a submarine or 
underwater explorer with a trailing wire 
antenna can in theory use Omega for naviga- 
tion purposes. Reception in airborne systems 
is usually quite good except for a phenome- 
non known as precipitation static when 



charged rain or snow particles hit the 
antenna in sufficient quantity to obliterate 
the signals. Loop antennas tend to reject this 
type of interference and are found in many 
commercial or military airborne receivers. 

The choice of the spacings between 
channels and length of transmissions, varying 
from 0.9 to 1.2 seconds in 0.1 second 
increments, was made so that an observer 
might use the station on times to uniquely 
determine which combinations of stations 
are being received. This is a nonredundant 
sequence of time intervals. Nowadays we can 
also do this with an automatic synchroniza- 
tion software routine which first has to 
monitor a hundred or so seconds of Omega 
frames and decide where the usable signals 
are, before starting up a sequence generator 
at some point in the frame. However, a 
much simpler synchronization method may 
be used when a strong station signal is 
available. 

For North American users (Mexico, USA 
and Canada) the D channel at North Dakota 
will usually provide a positive identification 
based on signal amplitude only without any 
fancy software required. This saves us a lot 
of trouble, particularly in the early stages of 
experimenting with Omega sensor systems. 
Observers in other parts of the world, for 
example in Europe, might use the A station 
at Norway for an easy way of identifying 
where the Omega system is synchronized to 
the local reference. Similarly the African 
nations can use Liberia or LaReunion Island, 
South America can use Argentina, and the 
Northern Pacific Ocean area can use either 
Japan or Hawaii. Temporarily, G channel is 
assigned to Trinidad, but this will be moved 
to the South Pacific area at some future 
time. 

A few words about the concept of fre- 
quency offset are needed to help in under- 
standing Omega systems. We discuss the 
offset of one clock with respect to another 
in terms of how many cycles they are apart. 
Thus two 1MHz oscillators turned one Hertz 
apart in frequency might be said to be offset 
from each other by 1 X 10"" which means 
that one clock will "beat" with the other at 
a rate of 1 cycle every million cycles with 
respect to whichever one we call the stan- 
dard. We can talk about an Omega clock 
which appears to be changing (drifting) 1 
lane (1 cycle) in, say, 60 seconds. The offset 
here would be expressed as the time of one 
Omega cycle divided by the time taken to 
change one cycle or: 1/10200/60 seconds = 
9.8 X 10- 5 /6 X 10 1 = 1.63 X 10" 6 . Here the 
clock itself appears to be giving a one lane 
change every 60 seconds. However if we use 
this clock with respect to Omega stations C 



68 



Mil 



l)H 



V 



The INTELLIGENT Video Interface 








THE MERLIN MAGIC 



DMA — The Fastest Display Technique 
Free Format Display (Saves Money) 
160 X 100 Graphics Display (320 X 200 Optional) 
Parallel and Serial I/O for KYBD and Cassette 

[Software Programmable (24 Bit Program Register) 
Optional On-Board Expandable ROM Software 
• Expandable by transfers through 256 X 8 RAM 
• Includes Monitor / Editor / Graphics / I/O Control 
Turns your S100 BUS Computer into an 8080/Z80 development system 



■ 



MERLIN KIT 



$269 MERLIN ASSEMBLED 



$349 MERLIN MANUAL 



MmiTerm Associates, inc. 



Box 268. Bedford. Mass. 01730 (617) 648-1200 



II 



i-5,0 



40- 



Bffl 



I 



ffi j^ F^ftj^ 



a 




BCD 



BCD 



BCD 



BCD 



BCD 



Relative Signal Levels «- 1 sec - 
0800 AM EST 4/1 1/76 



Figure 4: Signal envelope from the Mini-0 receiver at 10.2 kHz. This is a 
photo reproduction of a strip chart recording made from data taken at 
8:00 AM EST on April II 1976. 



and D which are only about 1 second apart, 
and, we subtract the two readings (D vs 
clock from C vs clock), then only about 1 
second elapsed between the measurements. 
The error in the measurement is thus about 
1/60th of a lane which is negligible. Further- 
more, this is a constant error which does not 
change appreciably with time or from sta- 
tion to station. 

Still another factor involved here is the 
fact that the vehicle may be moving with 
respect to the fixed positions of the Omega 
stations. This is, of course, what we are 
trying to measure; that is, how fast are we 
moving with respect to a particular station 
pair? The Omega receiver output gives a 
reading or plot on a strip chart recorder 
which is the line of position desired. The 
rate at which this reading changes or moves 
across the chart with a repeat at every "lane 
change" in a sawtooth fashion, is the basic 
data of the Omega system. Two such records 
specify where the receiver is located pro- 
vided we knew from where we started and 
did not loose count of the number of lane 
changes (sawteeth lane count) made. Many 
marine navigators like to use the filtered 
Omega lines of position phase differences in 
this manner because it gives them a rapid 
idea of where they have been and how fast 
they are going in a graphical display as 
opposed to reading out numbers on a digital 
display. Thus most digital Omega processors 
can also provide digital to analog conversion 
outputs which can be programmed for lines 
of position data, or with more sophistica- 
tion, even plot a course with a "bug" on an 
X-Y moving map display. But a boat is by 
nature slow. 



In contrast, the general aviation pilot 
doesn't have time to watch these interesting 
displays and is usually supplied with data in 
the form of a computed miles to go to some 
waypoint and a heading error indicator 
which is obtained from some kind of digital 
data processor. Simplified software for this 
is in the development stage at the present 
time. Most of the software for the filtered 
lines of position display has been worked 
out and will be detailed as part of this series 
of articles on Mini-O. 

There are a great many problems for a 
microprocessor experimenter to study. In 
particular, the output of data in coordinate 
systems like latitude and longitude instead 
of Omega lines of position; the correction of 
lines of position estimates with diurnal 
lookup tables or ionosphere models; and the 
use of multiple frequency Omega channels, 
are fruitful areas for some simplified soft- 
ware data reduction methods. 

An area of interest using microprocessor 
software techniques is that of providing 
velocity aiding loops which estimate the rate 
of change of the received phase and incre- 
ment the memory ahead or predict where 
the phase should be for the next time slot. 
In a moving vehicle using only three stations, 
we can directly track at general aviation 
velocities (<150 knots or 277 kph). How- 
ever, at jet velocities a more sophisticated 
mathematical technique called a second 
order loop is of some value. A second order 
loop also improves the signal-to-noise 
because it tends to correct for clock error 
although the clock drift is not easily deter- 
mined independent of the vehicle motion 
when using only three stations on a single 
frequency. With four or more stations being 
received or when using more than one 
frequency in several different receiver front 
ends, the clock error may be estimated and 
the system used in the direct ranging mode. 
This doubles the lane distances to 16 miles 
measured as concentric circles surrounding 
each transmitter instead of the hyperbolic 
station pair difference mode. These methods 
require more software, and about double the 
complexity of the receiver front end. 

In the longer range future we might 
contemplate that BYTE readers could 
exchange information on "DX" reception of 
Omega signals at very long ranges such as 
from Japan or LaReunion Island for USA 
observers, using super software tracking 
loops able to dig signals out of a lot of 
interfering noise. Software methods of 
improving the reception for weak signals 
would be of value for the future utility of 
Omega. 

Hardware areas also need some improve- 



70 




DIGITAL DATA 

RECORDERS 

USING 3M DATA 

CARTRIDGES 



Model 3M3 
$199.95 



BRAND NEW DESIGN 

Featuring the radically new "UNIBOARD" method of construc- 
tion for data cartridge drives. The major computer manufacturers 
are changing from cassettes to cartridges at a rapid pace because of 
freedom from binding and greater data reliability. Now, these 
professional type units are priced within the range of all data users. 
Being made primarily as OEM data storage units for the world's 
major manufacturers, these units, together with controller board 
and software ROM, are being made available to the individual user 
as well. 

* Appearance and specifications may be changed slightly following 
acceptance tests now being conducted by OEM users. 




Model 3M1 
$169.95 



MODEL 3M3 - Uses the 3M Data Cartridge, model DC300. This 
cartridge contains 300 feet of .250 tape in a sealed container. 
Records and plays at 9600 baud NRZ, 4800 baud P.E. Nominal 
speed 8" per second. Max. recommended flux density 1200 fcpi. 
Using four tracks, you can store nearly 2 megabytes of data on a 
cartridge. Cartridge measures 4" by 6". Turns counter indicates tape 
position. Inter-record gap light gives more accurate position. 
2SIO(R) is not required for use, but is highly recommended for 
8080 and Z80 systems. 

COMMON SPECIFICATIONS: FULL SOFTWARE CONTROL of 
record, play, fast forward and rewind. LED indicates inter-record 
gaps. EOT and BOT are sensed and automatically shut down 
recorder. Can also be manually operated using the switches on top 
which parallel the software control signals when not under software 
control. Signal feedback makes it possible to software search for 
inter-record gaps at high speed. 1 1 7V - 60 Hz - 5 watts. 

TWO I/O PORT CONTROLLER WITH ROM - Controls your 
terminal and one or two cassettes or cartridge units. On board ROM 
(For 8080 and Z80) has terminal and cassette software for turn on 
and go operation. NO MORE BOOTSTRAPPING. Plug in compat- 
ible with Altair and IMSAI. Loads and Dumps memory in Hex from 
the keyboard, formats tape files, punches tape, functions as a word 
processor and searches for files and four letter strings within files. 
Keyboard controls the cartridge units above on rewind and fast 
forward. Special keyboard codes enable you to dump and read 
Phase Encoded tapes as well as NRZ tapes. (Including K.C. Std.) 
Call routines give access to these from your software. 

MODEL 2SIO(R) -With 1 ROM for NRZ Cassettes $169.95 

(Assembled & Tested) ( Half of above Program) 

With 2 ROM's for Data Cartridges and 

P.E. cassettes. $189.95 (Full Program) 

Kits available for $30 off above prices. 

OVERSEAS: EXPORT VERSION - 220 V - 50 Hz. Write Factory 
or— Megatron KG, 801 1 Putzbrunn, Munchen, W. Germany; Nippon 
Automation 5-16-7 Shiba, Minato-Ku, Tokyo; EBASA, Enrique 
Barges, 17 Barcelona, Spain; Hobby Data, SpireaVagen 5, Malmo, 
Sweden; G.Ashbee, 172 Ifield Road, London SW 10-9AG. 



MODEL 3M1 - Uses the 3M Data Cartridge type DC100A. This 
cartridge contains 150 feet of .150 tape and is the same cartridge 
used by H.P. and others. Runs at 4800 baud NRZ, 2400 baud P.E. 
Tape speed adjustable, but nominally set at 5"/second. Maximum 
recommended flux density 1200 fcpi. Cartridge measures 2-1/8" by 
3-1/4". This model is ultra compact, yet extremely capable. It is 
intended for word processing, mailing list use and other applications 
requiring the compact storage of data. Data location is by 
inter-record gaps and automatic file search. See Common Specs and 
2SIO(R) below. 2SIO(R) is not required for use, but is highly 
recommended for 8080 and Z80 users. 

For 8080 and Z80 users: Comes complete with software program 
listings for the programs on the 2SI0(R) ROM below. 6800 
software is being written, but not yet completed. These programs 
give FULL SOFTWARE CONTROL. 

CARTRIDGE AVAILABILITY: Cartridges are made by 3M, ITC, 
Wabash and others. They are available at all computer supply houses 
and most major computer service centers. We can also supply them 
at normal current list prices. 

NEW: AUDIO CASSETTE INTERFACE* Phase Encoding interface 
for use with audio cassettes or NRZ recorders. Runs 2400 baud 
phase encoded on good quality audio cassette recorders. May also be 
used with 2SIO(R) above to use the 2SIO(R) cassette programs with 
your audio cassette player. Can also accommodate "Tarbell" tapes 
and K.C. Std. tapes. 

$50.00, Wired & Tested. - $35.00, Kit Form. 

*NOTE: You do not require an interface with the 3M1 and 3M3 
unless you Phase Encode. But, you do need an interface to 
use the 2SI0(R) with your own audio cassette. 

"COMPUTER AID" and "UNIBOARD" are trademarks of the 
NATIONAL MULTIPLEX CORPORATION. The 3M Data Cart- 
ridges are covered by 3M Patents and Marks. "UNIBOARD" Patents 
Pending. 

For U.P.S. delivery, add $3.00 each item. Overseas and air 
shipments charges collect. N.J. Residents add 5% Sales Tax. WRITE 
or CALL for further information. Phone Orders on Master Charge 
and BankAmericard accepted. 



NATIONAL MULTIPLEX CORPORATION 

3474 Rand Avenue, South Plainfield, N.J. 07080, Box 288 
Phone (201) 561-3600 TWX 710-997-9530 



ment. In particular someone needs to invent 
a single op amp (single +5 V power supply 
using one section of a quad) noise editor 
that will blank out wide band noise pulses 
without generating transients driving the 
narrow band filters. Noise blankers are a well 
known art, but what this world really needs 
is a simple one that does not double the 
front end complexity of the present Mini-0 
system. 

Omega Sensors 

All Omega receivers involve some analog 
radio frequency circuitry in the front end to 
amplify the microvolt signal levels up to 



values sufficient to operate digital processing 
systems. It is highly advantageous to use a 
lot of sequential narrowband filtering to 
improve the resolution of the resulting 
square wave edges. A typical Omega receiver 
will have a preamplifier, a set of narrow 
band filters, some type of limiter, and finally 
a comparator to generate edges for phase 
processing. Preprocessing bandwidths in the 
30 to 100 Hz range are found in most 
commercial systems. The advent of quartz 
tuning forks and mechanical filters operating 
in the 10 kHz region makes it possible to 
have a relatively simple system with 4 to 
15 Hz bandwidth. Very narrow radio fre- 



GLOSSARY OF OMEGA TERMINOLOGY 

This is terminology frequently found in Omega 
literature, some of which is used in these articles. 
Readers will find this glossary a useful guide to 
detailed study of Omega navigation. 



Frame 



Time Slot 



Lane 



Centilane 



Cycle 



Centicycle 



Line of 
position 



Epoch of A 



Difference 
Omega 



One complete 10 second Omega 
sequence of transmissions. 

The time within a frame when one 
station transmits on a single fre- 
quency according to the table in 
figure 1 ; simultaneously several oth- 
er stations will be transmitting on 
the other frequencies in the same 
time slot. 

Spacing between adjacent LOPs 
which are 360° apart electrically, 
but measured over the earth surface 
usually in nautical miles. Note that 
this distance will vary from 8 miles 
in the center of the hyperbolic pat- 
tern to 25 miles or so at the ex- 
treme baseline extensions of the 
station pair in question. 



One hundredth of a lane 
(Abbreviated CEL.) 



1/100). 



Phase difference of 360° between 
two transmitters as measured at the 
receiver. 

One hundredth of a cycle (1/100). 
(Abbreviated CEO) 

Path of constant phase difference 
(usually at 0° or 360°) between 
two transmitters as measured over 
the earth surface. (Abbreviated 
LOP in literature.) 

Start time of the A transmitter 
(NORWAY station on 10.2 kHz) 
with respect to UTC (Universal 
Coordinated Time as referenced to 
atomic cesium clock time). 

Use of two or more frequency 
channels to generate longer range 
LOPs as 13.6 - 10.2 = 3.4 kHz. 



Differential 
Omega 



Composite 
Omega 



Diurnal 



Offset 



PCA 



SID 



Prop 



Precip or 
P-static 



PPC 



Corrected line of position measure- 
ments using a nearby fixed ground 
reference receiver. 

Mathematical weighting of received 
phase on 10.2, 11.33, and 13.6 to 
generate pseudo frequencies such as 
11.9 or 12.2 kHz for reducing 
effects of diurnal changes. 

Day to night changes in the posi- 
tion of particular station pair lines 
of position as measured over the 
earth surface. 

Frequency difference between two 
clocks usually expressed in frac- 
tional cycles where cycles are de- 
fined in terms of UTC seconds 
(Hz), may be expressed as Af/f or 
At/t. 

Polar cap absorption associated 
with solar radiation which causes 
Northern Lights type of display — 
may last for hours or days and dis- 
turb signals which propagate over 
the polar regions. 

Sudden ionosphere disturbance, 
changes in the height and density of 
the ionosphere caused by showers 
of solar radiation particles associ- 
ated with sun spots. 

Propagation of VLF signals as it 
refers to Omega, such as "prop 
error." 



Precipitation static due to charged 
water, snow, ice, fog, rain, clouds 
striking conductive surfaces and 
antennas. Most pronounced in air- 
craft "E-field" antenna systems 
but also observed in marine and 
ground monitors, particularly dur 
ing very cold dry blowing snow, 
or sudden rain showers underneath 
thunderheads. 

Predicted propagation corrections 
as obtained from tables, or compu- 
ter programs built in to Omega 
navigation systems. 



72 























— i — 






— r i 


■ - 




' " 


l 






















































1 


































































































i 






























































































































































































— 


























































i 
































































































































































liu ma 




























§ t\ 


fl 




■|IH II 




1'1 8'! 


m 


I 


BP'ff 


W ""' 


























° 1 




11 Irlil ("'I 


.III! Illlil fill i; 


' t 


_ -ft — 






















1 


11 hi 1: II ,. :,, ! : ! M 




.1 " 






















1 


II lll'l 


1) 1 III 


-, .11,: i, ' .,'. . ,t in 


HII 

IIJL 






















""■ 






: II 

II 
II 

il 


1.1 i 
1 
1 


i II..! .11191111 111 


nil 


i 


i li dO 




















rSlf 


II i 


1 , 

i 




I lilnlllilllll 






i 

Lj 

IlirJ 


1 


I 






















a) n ■ 












■ 








ra LL1 


II LI 


11 






ill IUF't 




















" 1 ■;■■■■ > : ; 


,1 1' (II 

,1 I ! Ill 


n in J ires 






I 


-■nil 








I3il!. 


l .HI III • i\ 
HII. III! ,11 

J.j.lHI ' 1! 

in in 
■jui...:i li 












a; mm 






1 I III 


ED 


]'i 




















1 














— ■ riij 






Li 










I »■' 






























4 It.,. 
























i Hi] If ] lil 




























,-, II 








! (1 




all 








in 






























































































































































































: 




































































































































_ __ 






































0800 4/7/76 



1200 



1600 



2000 



2400 



0400 4/8/76 



0800 



C-D 24 hr Diurnal 

(Hawaii-Dakota) 

10.200 kHz 

Figure 5: A 24 hour record of raw data received with one of the first test rigs of the Mini-0 design. During the daylight hours, 
considerable 60 Hz interference was noted. This results from the fact that noisy electrical machinery or high power SCR or 
TRIA C controls connected to the local A C power system of the laboratory generate significant amounts of the 7 70th harmonic 
of 60 Hz, 10.2 kHz. This recording was made using a 4 bit precision for phase differences between the C and D station pair of 
the Omega system on April 8 1976. A total of 8640 consecutive measurements were made during the day, once every 10 
seconds. The results were recorded on a Heathkit chart recorder as they were measured with a 200 minutes per inch chart drive 
speed. 



quency bandwidths like 0.5 Hz cannot be 
used because the filter bandwidth is less than 
the "on time" of the signal. Other types of 
filters involve ceramic and mechanical 
magneto-restriction devices. Another 
method that has sometimes been used is the 
superheterodyne receiver where a local oscil- 
lator is mixed with the Omega signal to 
generate an intermediate frequency such as 
1 kHz or lower where the bandwidth of the 
intermediate frequency is inherently nar- 
rower than the incoming signal amplifiers. 

The receiver local oscillator or reference 
oscillator used for phase comparison must 
have good stability and a frequency offset of 
less than 5 X 10-6 to insure that the phase 
difference over a several second gap does not 
drift more than a few centicycles. Quartz 
crystal oscillators can provide this. Most 
receivers use what is called a TCXO (tem- 
perature compensated crystal oscillator) 
which can be set to an offset of 1X10-7 
and will maintain this low offset within 
1 X 10"6 over a reasonable operating tem- 
perature range (the short term stability over 
several hours is usually much better). The 
low frequency quartz oscillators used in 
digital watches (2 15 Hz) can provide better 



than 1 second per week (about 5X 10"") 
low offset capability when treated with 
some care. The most expensive Omega re- 
ceivers sometimes use an atomic clock refer- 
ence and can operate in the direct ranging 
mode, comparing each station to the atomic 
clock without subtracting station pair 
differences. 

The receiver clock system (housekeeping 
timer) should provide some means of gener- 
ating the desired Omega sequence intervals 
and a suitable reference for the phase com- 
parison. It is convenient to choose a crystal 
oscillator frequency which has some direct 
and simple relation to the Omega frequency 
desired. A TCXO clock on 2.6112 MHz is 
often used (2 8 X 10200 Hz). Other receivers 
may use a standard 5 MHz reference and a 
complex frequency synthesizer to provide 
equivalent references. If we think in terms of 
binary systems, it is possible to devise 
intermediate frequency types of digital proc- 
essors which use 2 n Hz as the basic reference 
or BCD equivalents like 1kHz, 100 Hz, 
10 Hz, 1 Hz and 0.1 Hz. The Mini-0 system 
to be described uses a 2^ 5 Hz clock to 
provide all the reference frequencies includ- 
ing the Omega sequence timing rate. 



73 



The second part of this 
series of articles by Ralph 
Burhans and his associates 
at Ohio University will fol- 
low in next month's 
BYTE. In part 2, you'll 
find details of the hard- 
ware of the Mini-0 re- 
ceiver, which can be built 
by the advanced experi- 
menter with interests in 
navigation problems. Part 
3 by Richard Salter fol- 
lows with information on 
processing software. 



Another feature common to all Omega 
receiver systems is some form of multiplexed 
phase locked or recursive filtering applied to 
the phase information following the com- 
parator. Digital hardware sensor systems are 
one method where a suitable clock system is 
advanced or retarded in phase by adding or 
deleting pulses to a countdown chain. An 
up-down counter system can also be used 
with a digital comparator. Software based 
digital filters have been devised which are 
basically recursive low pass filters operating 
at a relatively low sample rate. The sampling 
rate of the original edges is controlled by the 
analog radio frequency bandwidth used in 
the front end. Thus a 30 Hz bandwidth 
system might require a digital sampling rate 
of something like 100 Hz for optimum 
detection in the Nyquist sense where the 
Nyquist Sampling Theorem requires the sam- 
pling rate to be at least twice the input 
bandwidth. Some systems combine both 
software and hardware filtering of the phase 
information to generate final output band- 
widths of the information down to 0.01 Hz. 
With this narrow effective bandwidth, the 
receiver requires a long time (2 minutes) to 
lock up on the signals and correspondingly 
can hold lock through a lot of transient 
noise where the signal drops out momen- 
tarily. These digital systems are inherently 
sample and hold types where a shift register, 
counter, or latch holds the data for each 
Omega time slot in a multiplexed operation. 

Current research effort among micro- 
processor Omega researchers is involved with 
the development of software based sampling 
systems at a suitable low interrupt rate 
where the microprocessor itself becomes the 
equivalent of the voltage controlled oscil- 
lator as it is used in analog phase locked 
loops. These are still in the development 
stage in our laboratory. 

Mini-0 Receiver Concept 

The simplified Omega receiver methods 
which have been used for a basic digital in- 
terface are shown in block form in figure 3. 
This consists of a short whip antenna, a 
radio frequency preamplifier, a 1 0.2 kHz 
narrow band filter and limiter, zero crossing 
and amplitude gate detectors, clock and 
housekeeping timer, and finally a binary 
sampled phase output module. The output 
consists of 4 to 8 bit words which are 
processed after interrupts which occur at a 
40 Hz rate. The master crystal clock labelled 
HKT in figure 3 supplies all the timing 
functions necessary to operate the Mini-O as 
an independent monitor receiver or as an 
interface for a microprocessor system. The 
modules may also be used to drive hardware 



digital filters or analog type signal processors 
depending on the user's interests. 

4 Bit Raw Data Recordings 

The Mini-0 receiver is a digital super- 
heterodyne design which indirectly mixes a 
10240 Hz local oscillator with 10200 Hz to 
generate a 40 Hz intermediate frequency 
difference. Because the local oscillator is on 
the high side of the signal, the phase change 
of the 40 Hz intermediate frequency is 
reversed in direction with respect to Omega. 
In the first work on this system a sampling 
rate of 8 Hz or 40/5 was used because of 
convenience. By averaging 5 cycles of the 
8 Hz samples, a binary count was generated 
with 4 bit precision. Example recordings of 
this raw data for measurements averaged 
over single time slot intervals are illustrated 
in figures 4 and 5." 



SELECTED REFERENCES ON VLF 
NAVIGATION AND RELATED TOPICS 

On general VLF applications: 

J M Beukers, "A Review and Applications of 
VLF and LF Transmissions for Navigation and 
Tracking," J Inst of Nav 21 No . 2, pages 
117-133, Summer 1974. 

On optimum VLF frequencies: 

R Graver Brown and R L Van Allen, "Three 
Frequency Difference Omega," Proc Nat Aero 
Symp, Inst of Nav, Warminster PA, April 27-28 
1976. 

On RF preamplifiers: 

R W Burhans, "Single Preamplifier/Isolator 
Drives LF and VLF Receivers," ELEC- 
TRONICS 48, pages 107-108, Sept 4 1975. 

On previous simple receiver designs: 

R W Burhans, "Phase-Difference Method Offers 
Low-Cost Navigation Receivers," ELEC- 
TRONICS 47, pages 98-105, Sept 5 1974. 

On digital concepts for Omega receivers: 

R W Lilley, "Binary Processing and Display 
Concepts for Low-Cost Omega Receivers," J 
Inst of Nav 22 No. 3, Fall 1975. 

On microcomputer-based Omega systems: 

R W Lilley and R J Salter,"Simulation Analysis 
of a Microcomputer-Based Low-Cost Omega 
Navigation System," Proc Nat Aero Symp, Inst 
of Nav, Warminster PA, April 27-28 1976. 

On analog amplifiers and limiters: 

W G Jung, IC Op-Amp Cookbook, Howard W 
Sams Co, Indianapolis IN, 1974. 

On microprocessor interfaces: 

D Lancaster, TV Typewriter Cookbook, 
Howard W Sams Co, Indianapolis IN, 1976. 

On applications for simple Omega receivers: 

R W Burhans, "Mini-O, Simple Omega Receiver 
Hardware for User Education," Proc 1st Int 
Omega Assoc Symp, Washington DC, July 
27-29 1976. 



74 



The 

POLY 88 
Microcomputer 

System 

If you are into computers or considering a system, the 
POLY 88 is the machine to contemplate. 

HARDWARE 

• Popular 8080 central processor • Single-board CPU 

with ROM, RAM , vectored interrupt, real time clock, 

single-step logic and serial I/O • Video interface card - 

generates video to TV monitor and provides parallel 

keyboard input port • Serial and cassette mini-cards plug 

directly into CPU with ribbon cables • Cassette 

• ROM monitor with powerful debugger, video software, 

bootstrap loader • Backplane and power supply on one 

board simplifies construction • Rugged 6 amp power 

supply • All circuit boards are high quality, double-sided 

with plated-through holes • System is compatible with 

a wide range of Altair peripherals • Minimum point to 

point wiring means that the POLY 88 kit can go 

together in three evenings! 

ABOUT SOFTWARE 

Software is the reason the POLY 88 was designed. The 

operator can proceed from higher level languages like 

BASIC to developing machine code with the aid of our 

assembler. Our BASIC is a full 8K BASIC with character 

and byte manipulation. Best of all, the programmer is 

finally free of the teletype emulation mode so the video 

display can be used to full advantage. 

The video display provides a unique opportunity to write 

new types of programs and games. Characters (16 lines 

of 64) and graphics (48 by 128 grid) are part of the 

processor's memory, so the display may be altered 

rapidly — the entire screen written in less than 20 

milliseconds. 
POLY 88 hardware provides many 
additional features that 
programmers have come to expect, 
such as vectored interrupt and real 

time clock. 

See it at your local computer store. 




ARE YOU NEW TO COMPUTERS? 
The POLY 88 was designed for ease of use. No one 
should have to learn all the inner workings of computers 
just to enjoy one at a reasonable price. With the POLY 
88, you can "play" pre-developed programs or explore 
the world of computer languages as your interests expand. 

THE POLY 88 IS FOR EVERYONE 
Want to develop a new computer language? Want to 
fight Klingons?The POLY 88 provides a firm foundation 
upon which to build your interests and develop your skills. 

POLY 88 SYSTEM PRICES: 

SYSTEM 1 — Kit includes 8080 vectored interrupt 

processor with real time clock, V 2 K of RAM and IK 

monitor on ROM: Video Terminal Interface displays 16 

lines of 32 characters on a video screen and has a 

keyboard input port; cabinet, backplane, and power 

supply; complete assembly, operation and theory 

manual. $595. 

SYSTEM 2 — System 1 plus 64 character line option and 

Byte/biphase cassette interface kit. $690. 

SYSTEM 3 — System 2 plus 8K of RAM with BASIC 

and assembler programs on cassette tape. $990. 

SYSTEM 4 — The complete kit. It includes system 3 and 

TV monitor, keyboard and cassette recorder with all 

necessary cables and connectors. $1350. 

SYSTEM 7 — System 4 assembled, tested and ready to 

run. $1750. 

ACCESSORIES — 8K RAM kit, $300. Assembled $385 

POLY I/O Ideaboard, hardware prototyping kit board. $55. 

Analog Interface (l channel) kit. $145. 

Prices effective until January 15, 1977. Prepaid orders shipped postpaid. 



PolyMorphic 
Systems 



737 S. Kellogg, Goleta, CA 93017 
(805) 967-2351 



m si uk ix •* \«jw «. 




sagas.-!! ■ 


"gwwM Jill 

lawwHw, IX^*/ * 

mmm XT* 1 

* 


. 


n 



F 



mm ■=- --- 




«Ki «*S*i 



MM 



Continued from page 11 



IBM Selectric series. I would like to have 
some suggestions and comments on this 
proposed project from other readers. 
Any readers who can give any informa- 
tion on how to convert the IBM Selectric 
to a teleprinter will be greatly 
appreciated. 

Ronald K S Chan 

Engineer, Engineering Laboratory 

Canadian General Electric Co Ltd 

3-397 Reid St 

Peterborough, Ontario 

CANADA K9H 4G4 

FLEXOWRITING 



Dear Sirn, 

In recent months the Frlden Flexovrlter baa begun to turn up In 
numerous classified listings and surplus catalogs as a new possibility 
for a relatively Inexpensive hard copy output device. To those con- 
templating purchasing one of these units, this letter stands as evi- 
dence that the v can indeed be interfaced to a micro' a output port 
without too much difficulty. This letter vas typed by a model 2301 

Flexovrlter Interfaced to my hcmebrev 8080-baaed system running Basic. 

The Interfacing of the 2200 series of Frlden Flexovrlters is similar 
in many respects to Interfacing old Baudot-code machines, but there 
are many advantages to the Flexovrlter. First is obviously having both 
upper and lover case. This plua the typewriter-type font on moat 
models make the unit very applicable to text-editing and typing pro- 
grama. Second, the Flexovrlter types at a practical 12codee/sec. (The 
actual number of characters/sec depends on the number of case shifts 
necessary in the text. ) Third, the standard 16-inch carriage provides 
more than 160 columns of output, and if you're lucky enough to get the 
optional 20-lnch carriage, veil 

There are many different Flexovrlter models and many variations of 
each, so the prospective buyer may find the folloving Information of 
help. The 2200 and 2300 aerlea of automatic typing machines are the 
most applicable of the commonly available models. While like moat 
Flexovrlters, they have a non-Bt*Lndard 8-level code (vhlch Is very 
easily reduced to a 7-level code J they usually feature a standard 
8-level paper tape punch and typewriter-type font. The 2304 even 
boasts proportional spacing and secretary-shift, which might make in- 
terfacing easier. 

a larger character set and many models 



The 2200 series usually has 
have the 20-inch carriage.. 

while the above units usually Include a mechanical tape reader and 
code output from the keyboard the necesaary code converalona make it 
much more practical to use a separate ascii-encoded keyboard and op- 
tical tape reader for the system input. 

In short, the Frlden Flexovrlter can provide a very suitable hard 
copy device. Certainly the price of most of them alone makes them 

quite attractive. 1 obtained two such units through rather fortunate 
circumstances for free. They can be Interfaced to a para I lei aecli 
port for less than $50, much less if you're a good scavenger. 

Anyone contemplating, or actually attempting to Interface a Flexovrl- 
ter to hia micro may vrlte me at the below address and 1 will be glad 
to help in any vay 1 can. 

Sincerely, 

Bob Rlndfuss 

2367 leeger Rd. Ills 

West Lafayette, IN 

47906 



The letter is reproduced here photo- 
graphically to show the type font 
and demonstrate the practicality of 
Flexowriters. 



REGARDING BARCODES, 
CONTINUED 

I read with great interest your article 
"A Proposed Standard for Publishing 
Binary Data in Machine Readable Form" 
in the November 1976 issue of BYTE. I 
am very much interested in the problem 
of publishing software in cheap and 
easily transmitted form. Cassette tapes 
require an expensive (~$100) interface 
as well as a not so cheap (~$3) tape. 
Your method requires only a piece of 
paper and a light pen hooked up to a 
single input bit of a microcomputer. The 
software is relatively simple, and doesn't 
take up that much room. (Remember, 



once the program has been read success- 
fully, it can be transferred to your own 
cassette system, if needed.) 

I am worried about one aspect of the 
standard that you discussed in your 
article. I think that reliability is the key 
issue - more important than either 
people, readability or density. Further- 
more, this reliability should be conserved 
through making at least one Xerox copy. 
I do not know the characteristics of a 
Xerox machine that well, but I can 
conceive that they consistently either 
make the black bars narrower or wider. 
This might cause all ones to be mapped 
into zeros or vice versa. I think that in 
addition to a longitudinal parity check, 
there should be a parity bit on each 
character. This method allows single bit 
correction instead of single bit detection. 

I have done a little experimentation 
with your code format 2, which seems to 
have the most reliability built in. It 
seems that 1/5 inch is probably more 
than necessary for the length of the bars 
— 1/7 inch looks good. I also think that 
whether the code is published in col- 
umns or rows is not so important (unless 
someone is planning to build page 
readers). 

I include the first paragraph of this 
letter which has been coded into bar 
code and produced by the MIT Artificial 
Intelligence Laboratory Xerographic 
Printer. This printer has 200 dots/inch 
resolution, and each character is 28 dots 
high and 48 dots wide. All of our 
software is line oriented, so I have taken 
the liberty of making the bars vertical 
instead of horizontal. Since the charac- 
ters use formal 2, each zero is 2 black 
lines followed by 4 white lines and each 
one is 4 black lines followed by 2 white 
lines. (The lines are only 1/200 inch 
wide, so that they merge together into 
bars.) Using this format, we can put 28 
characters on a 7 inch line, 66 lines on a 
10 inch page. This gives a total of 1848 
bytes/page. No synchronization or parity 
characters have been used, although they 
could easily be added. 

Henry G Baker Jr 

MIT Laboratory for Computer Science 

545 Technology Sq 

Cambridge MA 021 39 

/'his is the complete text of a letter 
printed in bar code form in last month's 
BYTE. See January BYTE for the bar 
code text referenced. 



APL INTEREST? 

Inspired by the APL article in the 
November BYTE, I would like to get 
together with some other people who 
have access to an APL system or are 
looking ahead to their own micropro- 
cessor based APL system and would like 
to build or modify a CRT or dot matrix 
impact terminal to display the 
APL/ASCII character set. 

I have some ideas which I will share 
on how to incorporate overstrike capa- 
bility in a CRT terminal inexpensively; 



but the character generator is the prob- 
lem. APL character generator ROMs are 
nearly impossible to acquire and I would 
like to have one manufactured. 

If anyone is interested please send me 
your name and address along with any 
comments you may have. For example, 
would you prefer 5 by 7 (similar to the 
APL Decwriter) or 7 by 9 character 
matrix? If I perceive sufficient interest I 
will have the chip encoded and send you 
information. I expect cost per chip to be 
about $30. 

Phillip Apley 

Hampshire College Box 9 

Amherst MA 01002 

DELIVERY COMMENTS 

In December 76 BYTE you included 
a product review by D Anderson of our 
VDM-1 Video Display Module. He did a 
good job on the technical side; however, 
I am pleased to update the 60 day 
delivery time he referred to. We are now 
delivering the VDM-1 and most of our 
other products FORTY EIGHT HOURS 
after receipt of order when a money 
order or certified funds are included 
with order. 

Terry M Holmes 

General Manager 

Processor Technology Corp 

6200 HollisSt 

Emeryville CA 94608 

IDENTITY CRISIS: 
ARE WE NERDS? 

In the letters section of the October 
1976 issue of BYTE, Bryan Patterson 
posed the question of what computer 
hobbyists should call themselves. Your 
preference for the term "hacker" leaves 
much to be desired, as most computer 
professionals could legitimately claim 
this term, particularly those who spe- 
cialize in software development at other 
people's expense. 

In spite of over 25 years of com- 
mercial application, computer system 
development is still largely an undisci- 
plined form of self-expression, using ad 
hoc design methods, usually resulting in 
late and over budget delivery of un- 
reliable products. Recent developments 
in software engineering are largely 
scorned or ignored by the "artists" of 
the profession. Standards, usually a sign 
of stability and maturity of a profession, 
are largely ignored as being a damper on 
the free spirit of creativity. Judging by 
the practices and results achieved by the 
professionals in the computer field, I 
would say the term "hacker" belongs to 
them. 

The computer hobbyist, on the other 
hand, is working with his own money 
and is his own customer. Some profes- 
sionals are also hobbyists, but it is my 
observation that more planning and care- 
ful design goes into their personal sys- 
tems than in their professional activities. 
Some of this is due to severe limitations 
on their personal resources, to be sure, 



76 



and such limitations always seem so 
obvious. The rapid adoption of such 
things as the KC cassette standard and 
the Altair bus (as a de facto standard) 
are real signs of maturity. The free 
exchange of information, construction 
tips, programs, etc, by hobbyists, as 
opposed to the publications of thesis 
papers on the professional level, is much 
more practical in an engineering sense. 

I would not claim that the hobby 
computer field is not subject to mud- 
dling, but it has a "can do" spirit to it. 

The computer hobbyist seems to be 
interested in the novelty, education, 
recreation and delight offered by the 
small programmable systems. An 
acronym composed of the first letters of 
those attributes of amateur computing 
spells "NERD," which might be a term 
suitable for the computer hobbyist. Next 
time, Mr Patterson, you can say, "Hi, 
I'm a computer nerd!" 

Dick Curtis 

4741 Newlons Dr E 

Murrysville PA 15668 

DIRECT BINARY? 

I was reading your article in the 
November BYTE (issue #15) entitled "A 
Proposed Standard for Publishing Binary 
Data in Machine Readable Form." I 
thought it was a very good idea and I 
had considered it myself as a good way 
to store data in bulk and an easy way 
not to have to load in by hand programs 
that you see in magazines. However, I 
think that there is an easier format than 
the ones proposed in your article. The 
following formal is similar, but takes up 
less space and has a consistent bit length: 

V!^[XXXXXXXXXX 

V0<-[ 

V1<-|XXXXXXXXXX 

V1HXXXXXXXXXX 

V1^[XXXXXXXXXX 

V0«-[ 

vo<- 



ETC. 

Where Xs represent a solid black line 
with no gap between lines and blanks 
represent an area with no ink at all. 

I hope you will consider using the 
above format as it could simplify it 
greatly and also save some paper. 

Wayne Loofbourrow 

815 Standish Av 

Westfield NJ 07090 

This method suffers from the prob- 
lem that it is not self-clocking. A format 
for bar codes, to be usable, must be 
self-clocking, which virtually requires 
some redundancy in the encoding, 

I NEED EASY COMPUTERS! 

Right now all I have going for me is a 
desire to use a computer, a little knowl- 
edge I have gained of computers from 



books, and a subscription to BYTE. 
Even with the dropping prices of micro- 
computer hardware, being a student, I 
still cannot afford a computer. How 
about an article on building your own 
microcomputer, using easily available 
parts and easy construction techniques, 
with provisions for expansion and fol- 
low-up articles on programming? 

Mark Sebald 

8722 W Bluemound Rd 

Wauwatosa Wl 53226 

We're working on it. Already in 
house, expected out in mid 1977, is a 
very detailed construction project on a 
6502 computer system; and we're work- 
ing on getting articles for several other 
varieties. "Easily available" is taken to 
mean that most parts are found in the 
catalog sheets of hobby distributors. 

PRAISE FROM "DOWN UNDER" 

Please find enclosed order for US 
($30), being 3 years subscription renewal 
to BYTE (as from January 77). May the 
high standard of articles continue! 

G N Gould 

Sydney Hospital 

Biochemistry Dept 

Macquarie St 

Sydney 2000 AUSTRALIA 



COMPUTER LANGUAGE 

PTERODACTYLS, AND 

OTHER BEASTIES 

I write primarily In response to 
Mr Skye's letter in your August issue. I 
can only conclude that he had been with 
IBM too long, otherwise he would not 
attempt to debase the 8080 with 
FORTRAN or PL-I. FORTRAN is a 
virtual pterodactyl, flying on solely by 
inertia, whereas PL-I is much better, but 
too rambling in construction. If he in- 
deed takes up the admirable task of 
writing a high level compiler for the 
8080, he would be better advised to base 
his compiler on a fully structured lan- 
guage such as PASCAL. 

Inasmuch as PASCAL was originally 
devised as a pedagogical tool intended 
for use in examples of systems program- 
ming, it does not have a defined IO 
structure. In this aspect Mr Skye would 
be quite justified in reverting to PL-I. 
PASCAL also lends itself readily to 
modifications which would allow com- 
pile time extensibility in several areas. 
This is definitely to be preferred over 
add on "features" which take exception 
to structure, syntax, grammar, or com- 
mon sense in any language. 

Whatever the final characteristics of 
Mr Skye's language, it may well become 
the hobbyist's first or second program- 
ming language, due to early availability. 
Just as with natural languages, the lan- 
guage in which one program affects his 
approach to programming as a whole, 
and the first or primary language used 
tends to influence all later programming. 

77 




Where to get it. 

Equipment, parts, sup- 
plies and services. Hard to 
find and standard items at 
bargain prices. 

Over 600 places to find 
transceivers, antennas, 
surplus, new and used 
equipment, ^tPs/com- 
puters, ICs, components, 
assortments, assemblies, 
discounted items, test 
equipment, peripherals, 
etc. Hundreds of large and 
small mail order sources. 

A complete directory 
divided by sources, items 
and locations. Saves count- 
less hours of shopping. 
Easily pays for itself through 
comparative buying. 
Contains no advertising. 

P-------------1 

Rush my order. I enclose $5.95 plus 550 
postage and handling. Californians add 
390 sales tax. Full refund if not 
completely satisfied within 10 days. 



Name . 



Address . 



City/State/Zip 

Primary interest: Amateur Radio DCBD 
Experimenting D ^tPs/Computers □ 
Send to: Peninsula Marketing 
Dept. D 

12625 Lido Way 
Saratoga, CA 95070 



It is therefore the duty of the language 
designer to attempt to instill the rudi- 
ments of proper programming practices 
and style in the novice by designing 
languages which encourage or require 
such practices. It is, admittedly, not easy 
to forego the use of some thrilling bit of 
"trick" code merely because it is con- 
figuration dependent, poorly docu- 
mented, grossly unstructured, or dif- 
ficult to follow when encountered 
unexpectedly in the code; however, it 
will be appreciated later, and practice 
helps firm the will. The best solution, by 
far, is to reduce the availability of such 
tricks until the user has outgrown his 
programming adolescence. 

Small tricks may be introduced in the 
code produced by the compiler if they 
are suitably documented. In fact, the 
reduced resources of the average micro- 
computer installation provides fertile 
ground for a well written optimizing 
compiler. If optimization of tricky out- 
put is included in a compiler, it is 
suggested that a section of the user's 
manual be devoted to the discussion of 
each instance, giving examples and a full 
explanation of how it works and why it 
was done in that manner. It is also to be 
suggested that optimization be a user 
option if included, as it is usually much 
easier to debug unoptimized code, than 
optimized code when finished. 

I will gladly enter into cor- 
respondence with anyone who wishes to 
discuss or debate the features which 
should properly be included in a pro- 
gramming language, and why (or why 
not). 

P M Lash ley 

Director of Computing CSCS 

POB 764 

114 S BullardSt 

Silver City NM 88061 

Program structure should be looked 
upon as the language level equivalent of 
an integrated circuit used by the hard- 
ware designer. Why reinvent the DO or 
IF statements when you can get a 
language structure prepackaged to do the 
work? Why reinvent the NAND gate 
when it can be bought four per package 
in a 7400? And debugging with standard 
packages is so much easier, since func- 
tion is checked rather than internal 
details. Tiny BASIC and its later full 
function relatives are just a start in the 
right direction. 

APL CHARACTER ROMS? 

When APL becomes available for 
6800s and 8080s, it will be nice to have 
the APL character set, too. In view of the 
profusion of television displays based on 
the Motorola MCM6570 series character 
generator chips, I investigated the prac- 
ticality of obtaining an MCM6570 series 
generator for APL. My initial enthusiasm 
was almost quenched by my local 
Motorola representative, who informed 
me that although the unit price of a 
custom 6570 would be only $8.50, the 
minimum order would be 500 units and 



the custom-masking charge, a cool 
$1000. 

While I can't justify spending $5250 
($8.50 X 500+ $1000) for one or two 
chips, I wonder how many people would 
be willing to spend $10.50 (5250 + 
500)? Or would one of the television 
typewriter manufacturers be willing to 
take the plunge, design and market an 
APL television typewriter, and con- 
currently finance and vend the 
APL 6570? 

These approaches to the design of the 
new chip should be considered: 

1. By omitting approximately four 
"noncritical" APL characters - 
ie: characters not used to repre- 
sent APL functions — the entire 
character set, including overstruck 
characters, can be generated by 
one chip. This would auto- 
matically make any 6570 based 
television typewriter an APL 
television typewriter by simple 
chip swapping. 

2. Devoting a full chip to those APL 
characters that have no ASCII 
counterparts, the full APL charac- 
ter set and full ASCII character 
set, including all legal (and some 
illegal) APL overstrikes, can be 
accommodated using a standard 
ASCII 6570 as well. Required 
modifications to the television 
typewriter with this approach 
would include a chip select bit for 
each character in the refresh buf- 
fer, addition of chip selection 
circuitry in the video generator, 
and redesign of any cursor cir- 
cuitry (like that of the Processor 
Technology VDM-1) that depends 
on using only 7 bit ASCII. 

Roderick Montgomery 

52 Birch Av 

Princeton NJ 08540 

Creating a demand is what is needed. 
Would an APL enthusiast be willing to 
pay $52.50 for an APL character genera- 
tor? If that were the case, all it would 
take would be 700 such people to get 
together, buy 500 ROMs and use only 
100. (Or better, give each purchaser 5 
ROMs to do with as he or she pleased.) 
However, demonstrating a market 
interest in the products is a better way. 
Let's see how many BYTE readers 
are really into APL, document that, 
and use it as a message to potential 
manufacturers. 

BELL 103 MODEMS NEEDED 

It seems to me that as the hobbyist 
and small business computer field con- 
tinues to develop, data communications 
will become increasingly useful and pop- 
ular. Because the Bell 103 type data 
communications hardware interface is 
already a broadly accepted interface, I 
intend to use it and hope it will be 
widely used by other hobbyists and 
small business operators (at 30 and 10 
characters per second). 



I have a Tarbell cassette interface, 
and I intend to use it extensively in my 
system. However, the fact that no tape 
interface seems to be evolving as a 
hardware standard is creating a problem 
in the exchange of tapes by micro- 
computer users. 

Is it not easily possible to use an 
originate answer modem as a tape inter- 
face? Wouldn't this be an ideal hardware 
standard for the exchange of cassette 
tapes in our field? I don't have the time 
now to describe all of the potential cost 
and flexibility advantages of such an 
idea, but I'm sure they can be easily 
imagined. 

Stephen T Moore 

Moore Research 

POB 1562 

Sacramento CA 95814 

/ think modem recording on tape has 
been tried . . . with less than optimal 
results due to the old "wow and flutter" 
problem. Besides, there are manu- 
facturers now claiming that by using 
special techniques they can get 400 
bytes per second versus communications 
rates; so why be stuck with a low rate? 

STANDARDS 

I am very confused about the 
plethora of cassette data recording 
"standards" presently available to the 
computer hobbyist. The more I read 
about them, the more confused I get, 
and I am pretty sure that I cannot be the 
only hobbyist out here with this dif- 
ficulty. If you could answer the ques- 
tions below for me, I think you will be 
performing a noteworthy service for 
many of your readers: 

1. Which "standards" are presently 
in use? 

2. Which are gaining/losing favor 
with hobbyists? 

3. Which are compatible with MITS 
Cassette BASIC? 

4. Which are easiest to implement in 
hardware/software? 

5. Which system is the fastest? 

6. Is there any relationship between 
these "standards" and the Na- 
tional Multiplex system advertised 
in BYTE? 

7. Is there a consensus at BYTE 
about what system you would 
prefer to load MITS BASIC and 
to store programs on an Al- 
tair 8800? 

I realize that the answers to these 
questions could be both involved and 
lengthy, but any help you could give me 
would be greatly appreciated. 

Chessman Kittredge III 

14 El Sereno Ct 

San Francisco CA 94127 

/. Audio tape recording media vary 
from manufacturer to manufac- 
turer. MITS uses the ACR board 
of their own design, with modem 



78 




:*&*#'* 






9*r*e< 






<fr*~ •"£ 



'& 












. <&%&&* 



.*&%& 












i^<^> 



o^ . r *g^w 






s&r^ies* 













like choices of frequencies. Digital 
Group uses a similar method, but 
with different frequencies. The so 
called "Kansas City" standard is 
represented by several different 
manufacturers, including South- 
west Technical Products' AC-30 
and Per Com. Motorola is also re- 
ported to be using it with its 
latest evaluation board kit. The 
Tarbell high speed standard is one 
of the best in terms of speed of 
operation, as is a "Kansas City" 
standard interface operating with- 
out redundancy using a 2400 
baud data rale. 

For audio cassettes, as in all IO 
operations, unless some other cir- 
cumstance gets in the way, the 
faster the operation, the better 
off you are. 

All IO methods are in principle 
compatible with MITS Cassette 
BASIC. The only problem is you 
probably will need to do a "hack" 
on that BASIC'S object text in 
order to make it work in non- 
standard ways. We have not done 
that (yet) so the problems to be 
encountered can only be con- 
jectured . . . but it has been done 
by more than one user. 
In principal, nearly all of the 
different audio recording stan- 
dards can be best implemented 
with one set of hardware and 
several software designs for the 
encoding and decoding al- 
gorithms. The hardware minimum 
is an output (optionally filtered) 
from a TTL gate or equivalent, 
and an input signal conditioning 
port (single bit) which converts 
sine waves (more or less) from the 
tape into a clean clipped square 
wave while preserving transition 
times. Then the different Inter- 
faces are typically achieved by 
simply using a different 10 driver 
program. 



5. To find out which system is the 
fastest, look at their data rates. A 
300 baud system such as the 
unmodified "Kansas City" stan- 
dard is obviously much slower 
than the same hardware driven at 
2400 baud. Also, look at the 
software being used for for- 
matting the software. A cassette 
with a raw bit rate of 2400 baud 
will have an effective bit rate ever 
so slig/itly lower if the asynchro- 
nous data format of a UART is 
used, considerably lower if re- 
dundant coding is used to check 
or correct errors, and possibly as 
low as 30% of the maximum rale 
if the software employed sends 
hexadecimal data as ASCII codes 
for hexadecimal digits. 

6. The National Multiplex system 
differs from the normal audio 
interface only in the greater effec- 
tive speed possible, and the fact 
that it ignores the original head 
drive electronics of an audio chan- 
nel and achieves greater speed in 
the electronics by driving the 
head digitally and directly. 

7. In a way, yes . . . the faster the 
better. 

This is by no means an attempt to be 
complete about the answer. A fuller 
answer might make good material for an 
author to supply a detailed comparison 
aimed at the neophytes just coming 
aboard. 



OPPORTUNITIES 

Display Text, Washington DC, has 
just introduced a Word Processing (text 
editor) microcomputer for $13,990. The 
system incorporates 24 K bytes of RAM, 
a Zilog Z80 chip, two Sycor flippie 
diskettes, a Thompson 66 line CRT, and 
a 55 characters per second Qume (type- 
writer quality) printer. 

At that price I expect the system to 



sell quite well. The marketing outlets are 
to be selected from independent dealers 
in most metropolitan areas. (Entre- 
preneurs take note.) 

So what? The opportunities for 
knowledgeable "microexperts" are un- 
limited with this system and many 
others. The significance of the Display 
Text system versus other systems is its 
Z80 full page 66 line CRT. System 
operators can scan a page on the CRT 
and know exactly how it will look 
printed. Of course, software by the mega 
bytes is needed to allow lawyers, in- 
surance agents, doctors, etc, to do things 
other than word processing on their 
Z80s. 

Never before have we had computers 
in the home to produce and debug 
commercially valuable software. I am 
personally involved with various smaller 
law offices in an attempt to help them 
select equipment and software to handle 
their typewriting, timekeeping, account- 
ing, and case deadlines. This system and 
other microcomputers for the com- 
mercial market could be a very re- 
warding vehicle for computer enthusiasts 
who can produce software or hardware 
assistance. 

Allen Swann 

Legal Office System Consultant 

2510 Oak Trails 104 

Clearwater FL 33516 



WUMPUS SOFTWARE? 

I have written a machine language 
version of WUMPUS by Greg Yob. It's a 
great game. The 8080 program is under 
3 K and is completely self-contained: It 
requires no user PROM subroutines. 
Anyway, if anyone wants a listing, just 
send name, address, and $5 to: 

Ron Santore 

1957 Huasna Dr 

San Luis Obispo CA 93401 



SWTP 6800 OWNERS-WE HAVE A CASSETTE I/O FOR YOU! 

The CIS-30+ allows you to record and playback data using an 
ordinary cassette recorder at 30, 60 or 120 Bytes/Sec! No Hassle! 
Your terminal connects to the CIS-30+ which plugs into either the 
Control (MP-C) or Serial (MP-S) Interface of your SWTP 6800 
Computer. The CIS-30+ uses the self clocking 'Kansas City'/Biphase 
Standard. The CIS-30+ is the FASTEST, MOST RELIABLE CAS- 
SETTE I/O you can buy for your SWTP 6800 Computer. 

PerCom has a Cassette I/O for your computer! 
Call or Write for complete specifications 




$69.95 - KIT* 
$89.95 - ASSEMBLED* 

Manual only - $4.00 
(refunded w/o) 

*plus shipping 



PerCom Speci al ! 
2502 UART-$6.95 



PerCom Data Co. 

P.O. Box 40598 • Garland, Texas 75042 • (214) 276-1968 
PerCom — 'peripherals for personal computing' 



TEXAS RESIDENTS ADD 5% SALES TAX 



80 



BROADCAST STATION HANDLER? 

Mr Hosking's article "A Ham's Applica- 
tions Dream" [page 26, October 1976 
BYTE | is very dear to my ulterior motives 
for studying the current revolutionary world 
of microcomputers. 

In addition to being an old "ham" I am 
currently chief engineer for a small but 
automated FM broadcast station located at 
an altitude of 8500 feet (2600 m) in the 
Sierra Nevadas. 

The "automation" system is a solid state 
device that was built about 20 years ago and 
is quite reliable but is slowly becoming 
obsolete. Some foresighted individuals in the 
broadcast industry have begun to use com- 
puter techniques but on a limited and very 
costly basis. 

I have talked to a few microcomputer 
sales people regarding my application but 
receive an "I dunno." 

Would it be possible for an Altair 8800A 
or equivalent to, say, sequentially handle 
2000 events (switch tape deck, etc) in "real 
time" and give a "hard copy" (log) for a 
broadcast station and still be simple enough 
for an announcer or secretary to program 
the day's events? (And of course, not cost an 
arm and a leg?) 

Thanks to you and your staff for an 
understandable approach to a very com- 
plicated and otherwise distant world of small 
systems. 

Joe Alvin CE 

KMMT 

Mammoth Mountain FM Associates Inc 

POB1284 

Mammoth Lakes CA 93546 

If I were building such an application, I 
would want at a minimum a floppy disk 
system, and a good reliable printer. Using a 
single drive floppy system with 16 K bytes 
of memory and building custom drivers for 
all the events, as well as a custom real time 
clock, such an application could probably be 
assembled in the $4000-6000 range for parts 
and subsystems, excluding labor. Would any 
readers with station automation experience 
care to share experiences? . . . CH 

PROGRAM "BANK" NEEDED 

After a year's exposure to your very line 
computer hobbyists' magazine, I feel con- 
siderably enlightened on the subject. The 
articles and advertisements have convinced 
me of the significance the machines will play 
in the computer revolution. 

Although I confess to be a confirmed 
computer hobbyist, I do not plan lo submit 
to some of the rigorous repetitive activities 
that have been proven by other hobbyists. 
Namely, rewriting proven programs and 
manually loading the software into my 
computer. 

In many of your articles over the past 
months, considerable information has been 
provided on peripherals that interface and 
load typical programs into a computer's 
memory. However, I find myself in some- 
what of a void regarding how lo rapidly load 
a program into a paper or cassette tape 
reader. 

Is there a company or group that will 
translate software into a paper or cassette 
tape for a nominal fee? Is there a program 
"bank" where the hobbyist can order proven 



software already on paper or cassette tape? 
Is there available lo the hobbyist a translator 
that can perform the same? 

Any articles or services that might illumi- 
nate these questions will be of great help to 
me and I'm sure to other computer 
hobbyists. 

Laurence P Williams W5IIQ 

1 1 1 Bradford Cir 

Ocean Springs MS 39564 

See the information currently in BYTE 
regarding optical scanning of printed bar 
codes, and watch BYTE for information 
regarding clubs and other sources of soft- 
ware. We expect to be providing a software 
library of machine readable PAPER- 
BYTES™ and SHEET PROGRAMS™ 
using the printed bar code techniques. Watch 
future issues of BYTE for information on 
the PAPERBYTES™ project. (PAPER- 
BYTES™ and SHEET PROGRAMS™ are 
trademarks of BYTE Publications Inc.) 

MORSE REACTIONS TO OCTOBER 

I do believe filling your October cover 
with "BYTE" in Morse code was a bit 

self-centered. (— ... — . .) Although the 

picture of Joseph Henry's telegraphy key 
was very interesting. 

To remark on Hickey's article, "The 
Computer .... Versus .... Hand Sent 
Morse Code," I must say that it was very 
good. But an interesting point came up when 
I read it. If every amateur radio station used 
computers in sending and receiving Morse 
code there would be no need for Morse 
code. Each station could, and might as well, 
just use ASCII. Of course the use of ASCII 
would eliminate the use of telephone lines 
for teletype. This would not be good for 
phone companies but businesses and people 
renting time on a larger system could benefit 
from the use of the air transmissions. I hope 
this idea could be developed further. 

Mark Lentczner 
445 Third St 
Brooklyn NY 

There is only one problem, though. 
Amateur radio is amateur; commercial mas- 
sages are not allowed on the air to amateurs. 
However, an amateur radio communications 
net for passing games, personal use pro- 
grams, etc, back and forth would be quite 
legit/mate within the constraints of being 
amateur. We're looking for articles to ex- 
plore that possibility using established com- 
puter network software concepts presently 
used only by the "biggies. " 

As for the cover issue, isn't the cover of a 
magazine supposed to advertise its name??? 

AGGRESSION BY COMPUTER 

Our faculty, staff and students are de- 
lighted with the way BYTE has developed. 
We look forward each month to receiving 
the next issue. 

Every day we hear "the computer is 
responsible!" Business and government are 
experiencing problems in computer data 
processing. Many of the difficulties arc in 
relationships with the consumer public. 
Recipients are invariably frustrated in cop- 
ing. I am researching "case studies" involving 
people who are having troubles created by 



the alleged computer error. I would like to 
hear from these people describing their 
situations and what steps they went through 
in solving, or attempting to solve the diffi- 
culties. All responses will be treated 
confidentially. 

Dr Richard A Bassler 

Associate Professor of Computer 

Systems Applications 

CTA-B The American University 

Washington DC 20016 

HANGMAN? 

I have bought several issues of your 
magazine and have enjoyed reading them 
very much. Although I am new to program- 
ming, and do not have a microsystem, I have 
access to an I BM 370/ 1 58 and an I BM 1 I 30 
computer. I am learning much from BYTE 
on programming. 

Please, if you know of one, give me the 
name of a book or an article on games for 
computers, namely HANGMAN. The lan- 
guage can be in assembler, Fortran, Basic, or 
PL/1. I would appreciate this very much, as I 
have hacked my brains out trying to figure 
that one out. 

Robert Todd 

1815 N Boomer Rd Apt F-20 

Stillwater OK 74074 

See page 1/8 of 101 BASIC Games, a 250 
page paperbound book available for $7.50 
plus $.50 postage/handling from Software 
Distribution Center, Digital Equipment 
Corp, Maynard MA 01754. This book con- 
tains a complete listing of the program, 
written by Kenneth Aupperle of Melville 
NY. See also, page 18 of What To Do After 
You Hit Return, published for $6.95 by 
PCC, POB 310, Menlo Park CA 94025, for a 
description of how to use such a game. (To 
get the game program itself, order HANG- 
MN for $3 in paper tape form.) 

DATA BASE MANAGEMENT INFORMATION ? 

I am a charter subscriber to BYTE maga- 
zine, and very much interested in getting 
into the home computer field. However, I 
cannot justify it on the basis of it being the 
"ultimate toy." 

I, and possibly many others, could justify 
it if the home computer could be applied to 
do useful work around the house. 

One application which comes to mind is 
that of home or small business record 
keeping. This brings up the complex subject 
of data base management systems. 

I would very much appreciate a disserta- 
tion in BYTE on the design and implementa- 
tion of data base management. It could be 
presented as if the user had an Altair 8800 
printer, keyboard, and one or more tape 
cassettes. For example, flowcharts and sam- 
ples of 8080 code could be used to illustrate 
how an editor updates a variable length 
record on cassette by inserting, deleting, or 
changing data somewhere in the middle of a 
cassette record. 

I believe amateur radio grew as it did 
because of the social benefits of its applica- 
tions. Amateur computing must also have a 
beneficial goal in order for it to grow. 

H C Bickel 
587 Kiersted Av 
Kingston NY 12401 ■ 



81 



The Impossible Dream 
Cassette Interface 



Daniel Lomax 
Community Data Systems 
114 E Mohave Rd 
Tucson AZ 85705 



In May 1975, I had a new Altair 8800, 
from the original Popular Electronics offer, 
with 256 bytes of memory and no more 
money. What could I do besides blink lights? 
The first thing I noticed was that there is an 
addressable latch in the system, the Inter- 
rupt Enabled latch on the 8080, which is 
nicely buffered and displayed on the Altair 
front panel. After turning it on and off for a 
few hours, it occurred to me that, with an 
earphone, the light might make music, and, 
after several day's mad programming, some 
incredibly accurate baroque music emerged, 
including one recorder piece of which a 
musician friend — who loaded the data for it 
— said he had never before been able to hear, 
being too busy playing it. 

After making recordings of the music, the 
question arose: "If I can record music, why 
not digital data?" I hadn't heard of the 
various systems being developed at that 
time, and my tape recorder is a Ward's 
Airline $30cheapie. But, anyway, I recorded 
various tones on cheap tape, played them 
back, and looked at them on an oscilloscope. 
I found that a 2000 Hz tone, linked to the 
tape recorder through a 0.1 uF capacitor, 



was reliably reproduced — more or less — 
with the tape recorder volume turned all the 
way up, as an 8 V peak to peak "square" 
wave: That is, "reliably" in the sense that 
the signal never failed to clip, had no visible 
glitches, and I could see no missed cycles. 
There was jitter in the frequency, a few 
percent. 

So, 1 built a breadboard single channel 
input interface to look at the signal, capac- 
itor-coupled, and diode-limited between 
ground and +5, with Altair IN instructions. 
Though this interface was all TTL-— no 
active linear components — it was still 
unnecessarily complex, as I will show. Any- 
way, using one cycle of 1100 Hz as and 
two cycles of 2200 Hz as 1, I found that I 
could record data and recover it reliably, 
using the Altair to time the interval between 
transitions of the playback signal. According 
to what I have read, this is impossible. 3M 
Corp is supposed to have spent many 
millions of dollars working on cassette data 
recording systems, only to find that audio 
cassettes were too unreliable. Therefore, 
established engineers need read no further 
(except as entertainment), since this might 



About the Author: 

Daniel Lomax learned electronics in the physics laboratory at Cal Tech in 
the mid 60s, but never graduated. Recent work in printing and publishing 
brought him in contact with a burned out Honeywell Controller which was 
part of a nonworking Photon phototypesetter, repair of which created a 
business for him (phototypesetter repair) and taught him TTL logic. He Is 
active In the L-5 Society, a group working to encourage the establishment of 
permanent human colonies at the L-5 Lagrangian point of the Earth-Moon 
system. Demonstration of his typesetting proficiencies came to us in 
the form of excellent typeset manuscripts (which we reset for editorial and 
stylistic reasons). 



82 



CASSETTE, "EAR- a , 8/lF 
9 )h" 



IN4I48 



-f7T> PINT, ALTAIR INPUT 



IN4I48 



ALTAIR, PINTE [28^>- 



0.5^F CASSETTE, "AUX" 

-)l 



* 



OUTPUT 



be in the same class as perpetual motion and 
angle trisection with compass and 
straightedge. 

But, if you are an impoverished hobbyist, 
and would like to store programs and data at 
more than 1500 baud without spending any 
money — assuming you have a tape recorder, 
some capacitors, diodes, and connectors — 
let us dream the impossible dream together. 
[The "unreliability" of a device is not 
necessarily dependent upon the modulation 
method alone. This method hardly contra- 
dicts any principles of information 
theory CH/ 

After doing the above experiments, the 
corporation which owned the Altair folded, 
and with it my source of income and 
support for my family. I ended up with the 
Altair, but had no time to play with it until 
recently. Meanwhile, I have been following 
the literature, and have observed all kinds of 
proposed systems, none of them fast enough 
for the kinds of applications I have been 
considering and cheap enough for me to 
afford. Like Dr Suding [see "Why Wait?" 
page 46, BYTE, July 1976] , I cringe at the 
thought of waiting 15 minutes to find out 
that noise has destroyed data and I have to 
start over. 

My original bootstrap loader program was 
64 bytes long and included a routine which 
automatically set the appropriate timing 
value by examining a string of zeros which 
preceded the data on the tape, and which 
updated that value using the stop bit be- 
tween each byte. This article, however, 
describes a shorter loader, not automatically 
self-adjusting, and the hardware has been 
practically eliminated. 

It seems I had overlooked the fact that in 
the Altair there is, in addition to the sense 
switch es, o ne fre e input channel — of sorts — 
PINT. If PINT cannot be used for some 
reason, a program can be written using 
normal input channels. Also, there is no 
reason to output two cycles for a single bit, 



Figure I: Schematic of the "Impossible Dream" Signal Conditioning Logic. 
The output consists of simply driving the cassette recorder's input with a TTL 
level signal. The 0.5 uF capacitor is optional, according to the author, and can 
be replaced by a direct coupling. The input is a simple network to clip the 
signal coming bach from the tape recorder. 

Listing 1: Minimum Hardware Cassette Output Program. This program is a 
stand alone method of recording data starting at location BUFFER on to the 
recorder through the Altair PINTE line. This program terminates when the 
page address is zero. A more general program could of course be written by 
changing the initial conditions, and the end of execution test at locations 046 
and 047. Note that in the listings of this article, the notation <0> is used to 
indicate page addresses. The programs shown can be loaded at any arbitrary 
page boundary by substituting an octal number (such as 003) for <0> every 
time it appears. 



Split 
















Octal 
















Address 


Octal Code 


Label 


Op 


Operands 


Commentary 




377 






SSW 


EQU 


377 






200 






BUFFER 


EQU 


200 




<0>/000 


041 


200 


<0> 


• START 


LXI 


H, BUFFER 


set initial output pointer; 


<0>/003 


061 


200 


<0> 




LXI 


SP, BUFFER 


set the stack; 


<0>/006 


333 


377 




LOAD 


IN 


SSW 


input timing value; 


<0>/010 


117 








MOV 


C,A 


save it in C; 


<0>/011 


027 








RAL 




set carry if SSW7 active; 


<0>/012 


324 


055 


<0> 




CNC 


ZERO 


if not, output data '0'; 


<0>/015 


322 


006 


<0> 




JNC 


LOAD 


and if not, look again; 


<0>/020 


017 








RRC 




recover timing value bit 7; 


<0>/021 


117 








MOV 


C,A 


save it in C; 


<0>/022 


315 


066 


<0> 


NEXT 


CALL 


ONE 


output "I 1 as start bit; 


<0>/025 


176 








MOV 


A,M 


look up data byte; 


<0>/026 


006 


010 






MVI 


B.010 


load bit counter to one byte length 


<0>/030 


007 






BIT 


RLC 




set carry if data 'T; 


<0>/031 


334 


066 


<0> 




cc 


ONE 


if '1', output '1'; 


<0>/034 


324 


055 


<0> 




CNC 


ZERO 


if not '1'; output '0'; 


<0>/037 


005 








DCR 


B 


decrement bit counter; 


<0>/040 


302 


030 


<0> 




JNZ 


BIT 


if byte incomplete, output next bit 


<0>/043 


315 


055 


<0> 




CALL 


ZERO 


byte complete, output stop bit; 


<0>/046 


054 








INR 


L 


advance output pointer; 


<0>/047 


302 


022 


<0> 




JNZ 


NEXT 


go output next byte; 


<0>/052 


166 








HLT 




page done, halt; 


<0>/053 


000 








NOP 




space for 


<0>/054 


000 








NOP 




exit jump; 


<0>/055 


363 






ZERO 


Dl 




turn off PINTE; 


<0>/056 


315 


105 


<0> 




CALL 


TIMEA 


wait 2C cycles; 


<0>/061 


373 








El 




turn on PINTE; 


<0>/062 


315 


105 


<0> 




CALL 


TIMEA 


wait 2C cycles; 


<0>/065 


311 








RET 






<0>/066 


363 






ONE 


Dl 




turn off PINTE; 


<0>/067 


315 


112 


<0> 




CALL 


TIMEB 


wait C cycles; 


<0>/072 


315 


105 


<0> 




CALL 


TIMEA 


wait 2C cycles; 


<0>/07S 


373 








El 




turn on PINTE; 


<0>/076 


315 


112 


<0> 




CALL 


TIMEB 


wait C cycles; 


<0>/101 


315 


105 


<0> 




CALL 


TIMEA 


wait 2C cycles; 


<0>/104 


311 








RET 






<0>/105 


121 






TIMEA 


MOV 


D,C 


load timing counter; 


<0>/106 


025 






WAITA 


DCR 


D 


count cycles; 


<0>/107 


302 


106 


<0> 




JNZ 


WAITA 


count until zero; 


<0>/112 


121 






TIMES 


MOV 


D,C 


load timing counter; 


<0>/113 


025 






WAITB 


DCR 


D 


count cycles; 


<0>/114 


302 


113 


<0> 




JNZ 


WAITB 


count until zero; 


<0>/1 1 7 


311 








RET 







83 



Listing 2: Minimum Hardware Cassette Bootstrap Loader. This program is 
used to read the data recorded on a tape by the output program of listing 7. 
The program is set up to assume coordination through the Altair interrupt 
line PINT, but the method could be applied using timing loops on input as 
well. 



Split 

Octal 

Address 














Octal Code 


Label 


Op 


Operands 


Commentary 




200 




BUFFER 


EQU 


200 




<0>/000 


041 200 


<0> ' 


START 


LXI 


H.BUFFER 


set initial load pointer; 


<0>/003 


061 200 


<0> 




LXI 


SP, BUFFER 


set the stack; 


<0>/006 


066 000 




CLEAR 


MVI 


M.000 


clear initial load location; 


<0>/010 


303 106 


<0> 




JMP 


SET 


go to work; 


<0>/070 


063 




INT 


INX 


SP 


reset 


<0>/071 


063 






INX 


SP 


stack pointer; 


<0>/072 


270 






CMP 


B 


was interrupt immediate? 


<0>/O73 


312 110 


<0> 




JZ 


INTE 


if so, try, try again; 


<0>/076 


326 001 






SUI 


001 


set carry if data '1'; 


<0>/100 


176 






MOV 


A,M 


look up byte under construction; 


<0>/101 


027 






RAL 




rotate through carry; 


<0>/102 


167 






MOV 


M,A 


put it away; 


<0>/103 


332 122 


<0> 




JC 


BYTE 


if byte complete, go advance pointer; 


<Q>/106 


333 377 




SET 


IN 


SSW 


input timing criterion (sense switches! 


<0>/110 


107 






MOV 


B,A 


hold for comparison; 


<0>/111 


373 




INTE 


El 




enable interrupt: 


<0>/112 


000 






NOP 




give it time to act before timing; 


<0>/1 13 


075 




COUNT 


OCR 


A 


time period until interrupt; 


<0>/114 


302 113 


<0> 




JNZ 


COUNT 


A>0 at interrupt, data '0'; 


<0>/117 


303 117 


<0> 


LOOP 


JMP 


LOOP 


A=0 at interrupt, data '1'; 


<0>/122 


054 




BYTE 


INR 


L 


advance load pointer; 


<0>/123 


302 006 


<0> 




JNZ 


CLEAR 


if not end of page, go load next byte; 


<0>/126 


052 001 


<0> 




LHLD 


START 


restore initial load pointer; 


<0>/13l 


351 






PCHL 




transfer control to object program; 



Listing 3: Timing Test Patches to Listing 2. These patches are used to verify 
the timing for the outputs by testing the actual timing values received for 
each bit, storing them instead of the data. 



Split 

Octal 

Address 



<0>M13 

<0>/O76 
<0>/077 
<0>/100 
<0>/101 
<0>/102 
<0>/103 

<0>/131 



Op 



Operands 



074 

000 
000 
000 
000 
167 
303 122 <0> 

166 



COUNT 



ORG 


113 


INR 


A 


ORG 


076 


NOP 




NOP 




NOP 




NOP 




MOV 


M,A 


JMP 


BYTE 


ORG 


131 


HLT 





Listing 4: Dropout Test Patches to Listing 2: These patches are used to look 
for spurious binary 1 data in a tape filled with binary Odata. The Altair will 
halt on any byte which is not 000 (octal). 



Split 
Octal 
Address Octal Code Name 



<0>/122 054 000 BYTE 

<0>/124 312 006 <0> 
<0>/127 166 



Op 



Operands 



ORG 122 

CPI 000 

JZ CLEAR 
HLT 



so the revised program looks for one cycle of 
2020 Hz as 0, and one cycle of 1470 Hz 
as1. 

To try the system out, you can use a 
solderless breadboard, or even just a bunch 
of jumpers with alligator clips. PINTE (for 
output to tape) c an be picked up on the 
front panel. Both PINT and PINTE can be 
found on the motherboard, at Altair back- 
plane connector pins 73 and 28, respec- 
tively. I have found it convenient, for 
debug ging programs using interrupts, to wire 
PINT to one of the extra switches on the 
Altair front panel, connecting the center 
terminal of the switch to ground. For the 
clipping network, I pick off ground from the 



motherboard support rails, and +5 V from 
the front panel. Connect it all up as shown 
in figure 1. 

For a system test, clear the memory, then 
deposit the output program shown in listing 
1 into the memory. Replace the HLT at 
000,052 with a JMP START,303. The NOPs 
will serve as the START address. Set the 
sense switches to 010, and initiate RUN. 
Start recording. Wait about five seconds, 
then switch SSW7 to 1. Let the tape run to 
its end before stopping the Altair. This test 
begins by outputting continuous zero bits 
and then, when SSW7 is turned on, it 
outputs a start bit in the 1 state, then eight 
data zeros followed by a stop zero. Then it 
repeats with another start bit, and so forth. 

To read back this data, deposit the 
bootstrap loader into the memory. Change 
the PCHL at 000,131 to HLT (166). With 
the connector out of the earphone jack of 
the recorder, so you can hear the recording, 
start playing the tape. When the clean, high 
pitched tone starts (the train of zeros), stop 
the tape recorder immediately. Put the 
connector back in, and turn the recorder 
volume all the way up. Set the sense 
switches to 050. Start the recorder, wait a 
second or so for it to settle, then start the 
Altair with the RUN switch. The Altair 
should, when the tape runs into the data and 
begins transmitting bytes, load for about a 
half second and then halt. To get out of the 
halt condition, hold the STOP switch up 
while you RESET. The memory, from 
000,200 to 000,377 should be blank, all 
zeros. Put 377 into 000,377, and try loading 
the tape again. 000,377 should come out 
blank again. 

If it doesn't work, tape recorder signal 
polarity may be reversed between recording 
and playback. Try reversing the signal and 
ground leads from the tape recorder to the 
input network. (Disconnect the output con- 
nector and any other common grounds.) If 
the system then works, interchange the El 
and Dl instructions in the output program to 
produce correct results with normal con- 
nector polarity. 

To verify the timing, you can modify the 
loader as shown in listing 3. Set the sense 
switches to 000. Start reading the tape while 
data is being played back, rather than during 
the leader zeros as usual. The Altair should 
quickly halt. At address 000,200, and in 
sequential addresses, you should find the 
timing values for each bit as it came in. Make 
a list of these values, and you should see the 
data pattern. The value 050 was chosen to 
be in between the timing values for and 1. 

To test tape for dropouts, which will read 
as spurious 1s, use the bootstrap loader with 



84 



the patch shown in listing 4. Start the 
recorder and Altair as usual for data, with 
the test tape having been filled with data 
000 as in the first test. The Altair will halt if 
it finds any byte that is not 000. It will also 
probably halt when the tape ends, from 
shutoff noise. 

The data rate for this system, as de- 
scribed, varies with the data: 1470 baud for 
all binary Is, 2020 baud for all 0s. I suspect 
that it would work with higher data rates; 
but, for my cheap cassette, the signal level 
won't drive TTL reliably much above 2 kHz. 
The addition of an amplifier or zero-crossing 
detector could compensate for that problem, 
possibly increasing the data rate by a factor 
of two to four; of course, a better recorder 
and better tape would also help. 

The key feature of this method of re- 
cording data is that the recorded signal is 
symmetrical: It spends as much time high as 
low. I found that, if I tried to record 
unsymmetrical signals on the cassette, the 
narrower pulses tended to be present only as 
dips and bulges in the distorted attempt at a 
sine wave that the recorder produces. 

Figure 2 shows the waveforms present in 
the system under various conditions. If the 
cassette output does not produce a reliable 
interrupt, try a larger value capacitor or a 




Figure 2: Tracings of Typical Signals. 



The PINTE output signal from the Al tair wh ich is fed to the recorder. 
The input signal clipped and seen by PINT when a recording of (a) is 
fed back into the computer. 

Typical signals, in the case where polarity is reversed. See text for a 
complete explanation. 



lower frequency (increase the sense switch 
setting from 01 0). 

A final note: Timing values (sense switch 
settings) described in this article are 
appropriate for an Altair 8800 with memory 
wait cycles. If the processor is running at 2 
MHz with no wait states, try 014 as sense 
switch setting for the Output Program, and 
074 for the bootstrap loader." 



& 



& 



FROM 




HOBBY-WRAP 

COMPLETE WITH BIT AND SLEEVE 
ONLY$ 



34 




Now you, the hobbyist, can do 
wire-wrapping professionally with 
our easy to use Hobby-Wrap gun. 



OK MACHINE & TOOL CORPORATION 

3455 Conner St., Bronx, N.Y. 10475/ (212) 994-6600 / Telex 125091 



.025 sq. post, 
AWG 30 wire 
(batteries not included) 



85 



Baker Street Irregular 



Robert Baker 
15 Windsor Dr 
Atco NJ 08004 



FILL IN: 



4 Letter Words 


7 Letter Words 


8 Letter Words 


9 Letter Words 


BETA 


DENSITY 


BINOMIAL 


DEVIATION 


CASE 


GROUPED 


CUMULANT 


EMPIRICAL 


MEAN 


POISSON 


HARMONIC 


GEOMETRIC 


MODE 


THEOREM 


KURTOSIS 
MARGINAL 


VARIATION 


5 Letter Words 


11 Letter Words 


QUARTILE 


10 Letter Words 


GAMMA 


COEFFICIENT 


SAMPLING 


ARITHMETIC 


RANGE 


CONDITIONAL 


SKEWNESS 


CUMULATIVE 




CORRELATION 


VARIABLE 


PERCENTILE 


6 Letter Words 

DECILE 
EXCESS 


EXPECTATION 
MULTINOMIAL 


VARIANCE 
WEIGHTED 


REGRESSION 
12 Letter Words 


MEDIAN 






DISTRIBUTION 


MOMENT 

















































D 
































1 
S 

r 

R 


































































































1 




















mm 
























u 


































■ t 


































■ 


















o 












































N 


































































































































































■ 



















































































































86 




FLIP OVER 
OUR FLOPPY 

Only $750 from Peripheral Vision. 



Peripheral Vision is a brand-new company that's dedi- 
cated to selling reasonably priced peripherals for various 
manufacturers' CPU's. 

We think you'll flip over our first product. 

It's a full-size floppy disk for the Altair-lmsai plug-in 
compatible S-100 BUS. And it's available for as low as $750. 

Here are the features: 

• 1 interface card supports 4 drives 

• Stores over 300,000 bytes per floppy 

• Bootstrap EPROM included — no more toggling or 
paper tape 

• Completely S-100 plug-in compatible 

• Interface cabling included 

• Drive is from Innovex (the originator of the floppy 
concept) — assembled and tested 

• Interface card design is licensed from Dr. Kenneth 
Welles and the Digital Group 

• Disk operating system with file management system 
included on floppy 

• Cabinet and power supply optional 

Prices: 

Interface card kit and 
assembled and tested drive 

Power supply — +24V at 2A 

Cabinet — Optima, blue 



different manufacturers' peripherals and CPU's. We want to 
get them together. And, we want to bring significant new 
products to market — products consisting of everything from 
adaptation instructions/kits for hardware and software to 
major new products. 

It's a tall order, but we feel we're up to the task. 
Peripheral Vision has already obtained a license from 
The Digital Group to adapt versions of some of their prod- 
ucts to the S-100 BUS. And we're working on getting more 
from other companies. 

Most important to our customers, Peripheral Vision is 
committed to helping you get along with your computer. 
We'll do all we can to make it easy. 

Write us now for all the information on our company, 
our philosophy and our exciting line of products. And be 
prepared to flip over all of it. 



Kit Assm. 



$750 
45 



$850 
65 
85 




y !/}&Di] ** 




RO. Box 6267 /Denver. Colorado 80206/(303) 733-1678 

Send me the works, and I just might flip over it! 

Name 



Now, a little more about our company. 

Peripheral Vision may be brand-new, but we have some 
old-fashioned ideas about how to run our business. 

We know there are serious incompatibilities among the 





Microprocessor Update: 



The F8 System 



*- 


1 


^^~ 


40 ■ 


WRITE- 


2 




39 ■ 


Vdd- 


3 




38 


Vgg- 


4 
5 




37 
36 


IO03- 


DB3- 


6 
7 
8 




35 
34 
33 


10 13- 


IO 12- 


DB2- 


9 
10 
11 




32 

31 
30 


IP02- 


IO 01- 


DB1- 


12 
13 
14 




29 

28 
27 


IO 11- 


IO 10- 


DB0- 


15 
16 




26 
25 


IO00- 


ROMC0- 


17 




24 


ROMC1- 


18 




23 


ROMC2- 


19 




22 


ROMC3- 


20 




21 



Pin Name 

DB0- DB7 
*, WRITE 



IP 00 - IP 07 

IO 10 - IP 17 

RC 

RPMCO - ROMC4 

EXT RES 

INT REQ 

ICB 

XTLX 

XTLY 

V S S = V 

VDD = +5 > 

V G G = +12 V ) 





Robert Baker 


RC 


15 Windsor Dr 


XTLX 


Atco I\IJ 08004 


XTLY 





EXT RES 

iolw 

DB4 



- IP 14 



IP 15 
DB5 
- FO~05 



IP 06 
DB6 
- iPT6 



IP 17 
DB7 
TP~07 
V S S 



INT REQ 

ICB 

RQMC4 



Description 

Data bus lines 
Clock lines 
IO port zero 
IO port one 
RC network pin 
Control lines 
External reset 
Interrupt request 
Interrupt control bit 
Crystal clock line 
External clock line 

Power lines 



T yp e . 

Bidirectional 

Output 

Bidirectional 

Bidirectional 

Input 

Output 

Input 

Input 

Output 

Output 

Input 

Input 



Figure 1 : Pin designations for the 3850 central processing unit chip. 



The architecture of the F8 microproces- 
sor is rather unique in design since the vari- 
ous system functions are deliberately divided 
among the several basic circuits of the F8 
family instead of being centralized within a 
single processor. The currently available F8 
system components include the following 
devices: 

3850 central processing unit 

3851 program storage unit 

3852 dynamic memory interface 

3853 static memory interface 

3854 direct memory access 

These devices are interconnected by an 8 bit 
time multiplexed data bus for addressing and 
data functions, along with a 7 bit control 
bus for system coordination and synchroni- 
zation. System timing signals are derived 
from a master clock generator with a maxi- 
mum frequency of 2 MHz within the 3850 
processor. The clock output of the processor 
divides the machine cycle into a number of 
discrete phases dependent on the type of 
instruction being executed. Multiple mem- 
ory references may require as many as three 
machine cycles as controlled by the proces- 
sor's WRITE clock. Besides these two clock 
lines, the remaining five lines of the control 
bus are the Read Only Memory Control 
(ROMC) outputs. They are derived from the 
processor's internal control read only mem- 
ory as a function of each instruction and are 
listed in detail within the Fairchild docu- 
mentation along with a description of the 
corresponding operation of each F8 compo- 
nent. 

A 16 bit address structure allows address- 
ing of up to 64 K bytes of memory contain- 
ing any combination of programmable stor- 



88 



VGG 



age units or standard read only memory and 
programmable memory with the appropriate 
interface devices. Instead of transmitting an 
address to all the individual memory devices 
during each processor cycle, the memory 
devices maintain their own 16 bit program 
counter. Every programmable storage unit 
or memory interface updates its program 
counter just as a processor would, incre- 
menting the register each time an instruction 
is fetched or loading a new address when a 
jump instruction is encountered. For relative 
addressing, each device also has a built-in 
hardware adder to compute the displace- 
ment from the current program counter 
value. 

A second register, known as the stack 
register, backs up the program counter in all 
memory elements during subroutine calls 
and interrupts. When a subroutine or inter- 
rupt handler address is jammed into the pro- 
gram counter, the return address, the old 
contents of the program counter, is saved in 
the stack register. 

Every memory chip also contains a 16 bit 
pointer register called the data counter 
which can be addressed and loaded from the 
3850 processor. All memory references 
during memory reference instructions utilize 
the data counter which implicitly indicates 
an object address. 

The 3850 Processor 

The 3850 processor is the heart of the F8 
microprocessor system, containing the data 
manipulation logic that can perform either 
binary or decimal arithmetic. A control unit 
decodes 8 bit instructions controlling execu- 
tion of logic within the processor and gener- 
ating control signals for the other chips in 
the system. The processor chip pin assign- 
ments are shown in figure 1. Figure 2 indi- 
cates the three different modes of system 
clock generation: resistor capacitor network, 
crystal, or external clock; that may be used 
to provide a typical 2 /us cycle time. 

The 3850 processor has a single 8 bit ac- 
cumulator, and a scratchpad consisting of 64 



. RC 




3850 
CPU 


XTLY 


XTLX 















RC 


3B50 
CPU 


-1— CI 

XTLY 


XTLX 








^C2 





vss 

RC MODE 
PERIOD'* (I.2RC + 
400 nS) + 200 nS 



3850 
CPU 



CRYSTAL MODE 



EXTERNAL CLOCK 



EXTERNAL MODE 



Figure 2: Three modes of clock generation for the F8 system. 



(HU 
IHL 

(KU 
IKL 
IQU 
IQL 



Scratchpad 


Byte 
Addres 
Decimal 


1 
2 

9 
10 
11 
12 
13 
14 
15 
16 

59 
60 
61 
62 
63 
64 


s 
Octal 









1 




2 








11 




12 




13 




14 




15 




16 




17 




20 








72 




73 




74 




75 




76 




77 



765432 10- 



5432 10 















Bit Number 

Accumulator 

-Bit Number 
ISAR 



HI LO 

Octal Address of 
Scratchpad Byte 



W Register 



4 


3 


2 


1 





I 

C 
B 


O 


Z 


c 


s 



• Bit Number 



Figure 3: The program- 
mable registers for the 
3850 processor. 



Information and diagrams 
courtesy of Fairchild Semicon- 
ductor from their F8 Circuit 
Data Book and F8 Micropro- 
cessor Programmer's Guide. 



89 



8 bit general purpose registers that are ad- 
dressed by a 6 bit indirect scratchpad ad- 
dress register as shown in figure 3. The W 
register, a 5 bit status register, indicates sign, 
carry, zero, and overflow conditions as a 
result of various processor operations and 
contains the interrupt control bit. The proc- 



essor chip also contains two 8 bit, bidirec- 
tional, 10 ports with output latches for 
transferring data to and from the processor. 
Any of the over 60 machine instructions 
together with the eight different addressing 
modes, shown in table 1, may be used to 
manipulate or operate on 8 bit data con- 



Table 1: F8 instruction set and addressing modes. 



ADC Add data counter with accumulator 

Al Add immediate with accumulator 

AM Add binary accumulator with memory 

AMD Add decimal accumulator with memory 

AS Add binary accumulator with scratch- 

pad register 
ASD Add decimal accumulator with scratch- 

pad register 



BC 


Branch on carry 


BF 


Branch on false condition 


BM 


Branch if negative 


BNC 


Branch if no carry 


BNO 


Branch if no overflow 


BNZ 


Branch if no zero 


BP 


Branch if positive 


BR 


Absolute branch 


BR7 


Branch if ISAR is not 7 


BT 


Branch on true condition 


BZ 


Branch on zero condition 


CI 


Compare immediate 


CLR 


Clear accumulator 


CM 


Compare with memory 


COM 


Complement accumulator 


DCI 


Load data counter immediate 


Dl 


Disable interrupt 


DS 


Decrement scratchpad register 


El 


Enable interrupt 


INC 


Increment accumulator 


IN 


Input 


INS 


Input short 


JMP 


Jump 



LI 

LIS 

LISL 

LISU 

LM 

LNK 

LR 



Nl 
NM 
NOP 
NS 

01 
OM 
OUT 
OUTS 

PI 
PK 

POP 

SL 
SR 

XDC 

XI 

XM 

xs 



Load accumulator immediate 
Load accumulator short 
Load ISAR - Lower 3 bits 
Load ISAR - Upper 3 bits 
Load memory 

Link carry into accumulator 
Load register (5 types) 

Scratchpad 

Program counter 

ISAR 

Status 

Data counter 

Logical AND accumulator immediate 
Logical AND memory accumulator 
No operation 
Logical AND scratchpad and accumulator 

Logical OR immediate 

Logical OR memory with accumulator 

Output 

Output short 

Push program counter into stack register 
Set program counter to new location 
Push program counter into stack register 
Set program counter from scratchpad 
Put stack register into program counter 

Shift left 
Shift right 

Exchange data counters 
Exclusive OR immediate 
Exclusive OR accumulator with memory 
Exclusive OR accumulator with 
scratchpad 



Implied Addressing — The data for this one byte 
instruction is implied by the actual instruction. 
For example, the POP instruction automatically 
implies that the content of the program counter 
will be set to the value contained in the stack 
register. 

Direct Addressing— In these two byte instructions, 
the address of the operand is contained in the 
second byte of the instruction. The direct address- 
ing mode is used in the input output class of 
instructions. 

Short Immediate Addressing — Instructions whose 
addressing mode is short immediate have the 
instruction op code as the first four bits and the 
operand as the last four bits. They are all one byte 
instructions. 

Long Immediate Addressing — In these two byte 
instructions, the first instruction byte is the op 
code and the second byte is the 8 bit operand. 

Direct Register Addressing — This mode of address- 
ing may be used to directly reference the scratch- 
pad registers. By including the register number in 
the one byte instruction, 12 of the 64 scratchpad 
registers may be referenced directly. 



Indirect Register Addressing — All 64 scratchpad 
registers may be indirectly referenced, using the 
indirect scratchpad register in the processor. This 
6 bit register, which acts as a pointer to the scratch- 
pad memory, may either be incremented, decre- 
mented, or left unchanged while accessing the 
scratchpad register. 

Indirect Memory Addressing — A 16 bit indirect 
address register, the data counter, points to either 
data or constants in bulk memory. A group of one 
byte instructions is provided to manipulate this 
area of memory. These instructions imply that the 
data counter is pointing to the desired memory 
byte. The data counter is self-incrementing, allow- 
ing for an entire data field to be scanned and 
manipulated without requiring special instructions 
to increment its content. The memory interface 
circuit contains two interchangeable data counters. 

Relative Addressing — All F8 branch instructions 
use the relative addressing mode. Whenever a 
branch is taken, the program counter is updated by 
an 8 bit relative address contained in the second 
byte of the instruction. A branch may extend 128 
locations forward or 127 locations back. 



90 



tained in the accumulator, scratchpad regis- 
ters, or any memory location. Instructions 
referencing scratchpad bytes are the fastest 
executing F8 instructions, but only the first 
16 scratchpad bytes can be referenced di- 
rectly by instructions. The indirect scratch- 
pad address register must be used to refer- 
ence the last 48 bytes of the scratchpad but 
may also be used to address the first 16 
bytes as well. Scratchpad registers 9 through 
15 have special significance for the F8 sys- 
tem as mentioned later. 

The 3851 Program Storage Unit 

The program storage unit contains 1024 
bytes of read only memory, two indepen- 
dently addressable 8 bit IO ports, a program- 
mable timer, external interrupt control cir- 
cuitry, and three address registers, called 
PCO, PC1 and DC. Each program storage 
unit chip is mask programmed during manu- 
facturing to user specifications, including a 6 
bit page select, chip enable, option which 
corresponds to the upper 6 bits of the ad- 
dress space. This customization at manufac- 
turing time makes it unlikely that the 3851 
will ever be used by homebrew computer 
people; however, it may show up in finished 
product or kit machines as a place to put the 
system monitor. The memory access logic of 
each program storage unit is only activated 
when the upper 6 bits in the program 
counter match the program storage unit page 
select code. With up to 64 possible program 
storage units, every program counter will 



IOB7- 


— < 


10 A7- 

vqg- 
Vdd- 

EXT INT- 


2 
3 

4 
5 



V^ 



PRI OUT- 6 



WRITE- 



INT REQ- 



PRI IN- 
DBDR- 
NOTUSED- 
ROMC4- 
ROMC3- 
ROMC2- 
ROMC1- 
ROMC0- 

vss- 



IO AO- 



IO BO- 



7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 



40 

39 

38 

37 

36 

35 

34 

33 

32 

31 

30 
29 
28 
27 
26 
25 - 
24 - 
23 - 
22 - 
21 - 



DB7 
DB6 
- IO~B6 



- IO A6 



- 10 A4 



- IO A3 



- 10 A5 



IO B5 
DB5 
DB4 
iO~B4 



IO B3 

DB3 

DB2 



- IO B2 



IO A2 
IO A1 

ToTi 

DB1 
DBO 



Figure 4: Pin designations 
for the 3851 program 
storage unit chip. 



Pin Name 


Description 

IO port A 


Type 




10 AO- 10 A7 


Bidirectional 


10 BO - 10 B7 


IO port B 


Bidirectional 


DBO- DB7 


Data bus 


Input 


ROMCO- ROMC4 


Control lines 


Input 


*, WRITE 


Clock lines 


Input 


EXT INT 


External interrupt 


Input 


PRI IN 


Priority in 


Input 


PRI OUT 


Priority out 


Output 


INT REQ 


Interrupt request 


Output 


DBDR 


Data bus drive 


Output 


V S S = o V J 






V D D = +5V I 


Power supply lines 


Input 


VGG =+12 V ) 







Figure 5: A block diagram 
of the 3851 program stor- 
age unit. 



ADDRESS 
DEMUX 



ADDRESS XFER BUS (16 BITS) 



H 



PROGRAM 
COUNTER 
PCo 



II 



XFER 
GATE 



MIXER BUS (161 

H 



U 



DATA 
COUNTER 
ADDRESS 
POINTER 



STACK 
REGISTER 
PC l 



<*L 



6 



n 



INCREMENTER 
ADDER 



?"> 



I I 

| CROM J 

CONTROL 
SIGNALS 



S^> 



ADDRESS BUS (16 BITS) 



PAGE 
SELECT 
MASK OPTION 



ROM STORAGE 
1024 WORDS (8 BITS /WORD) 



DATA BUS (8 BITS) 



I/O PORT 
A 



I/O PORT 
B 



I/O PORT 
ADDRESS 
SELECT 
MASK OPTION 



INTERRUPT 
ADDRESS 
GENERATOR 
MASK OPTION 



<ni 



UPPER 
BYTE 
XFER 
GATE 



LOWER 
BYTE 
XFER 
GATE 



INTERRUPT 
CONTROL 



EXTERNAL 
DATA BUS 



EXT INT PRI PRI 
INT REO IN OUT 



91 



Figure 6: Pin designations 
for the 3852 dynamic 
memory interface chip. 



VGG- 


1 V_ 


y 40- 


-VDD 


*— 


2 


39- 


- ROMC4 


WRITE- 


3 

4 
5 
6 


38 
37 
36 
35 


- R0MC3 


INT REQ- 


- ROMC2 


PRI IN- 


-ROMC1 


RAM WRITE- 


-ROMCO 


EXT INT- 


7 


34 


-CPU READ 


ADDR7- 


8 


33 


-REGDR 


ADDR6- 


9 


32 


-ADDR15 


ADDR5- 


10 


31 


-ADDR14 


ADDR4— 


11 


30 


-ADDR13 


ADDR3- 


12 


29 


-ADDR12 


ADDR2- 


13 


28 


-ADDR11 


ADDR1- 


14 


27 


-ADDR10 


ADDRO- 


15 


26 


-ADDR9 


DBO- 


16 


25 


-ADDR8 


DB1- 


17 


24 


-DB7 


DB2- 


18 


23 


-DB6 


DB3- 


19 


22 


-DB5 


v S s- 


J20 


21 


-DB4 



Pin Name 



Description 



Type 



DBO- DB7 


Data bus lines 


Bidirectional 


ADDRO - ADDR15 


Address lines 


Output 


<t>, WRITE 


Clock lines 


Input 


INT REQ 


Interrupt request 


Output 


PRI IN 


Priority in line 
Write line 


Input 


RAM WRITE 


Output 


EXT INT 


External interrupt line 


Input 


REGDR 


Register drive line 


Input output 


CPU READ 


CPU read line 


Output 


ROMCO - R0MC4 


Control lines 


Input 


v S s - o V ) 






VDD = +5V > 


Power supply lines 


Input 


VGG = +12V ) 







contain the same address but only one chip 
will detect a page select match and forward 
an 8 bit instruction to the processor during a 
fetch cycle in a properly designed system. 

The 1 6 bit program counter provides the 
memory address of the next instruction to 
be fetched and transmitted to the processor, 
while the internal program storage unit logic 
will increment the program counter after 
each fetch. The program counter registers of 
all program storage unit chips are logically 
connected to the K register of the processor 
scratchpad, bytes 12 and 13. The contents 
of all program counter registers may be 
loaded from the K register or modified by 
certain instructions. The data counter regis- 
ter, as described earlier, is similarly linked to 
the H register, bytes 10 and 11, of the proc- 
essor scratchpad. Each program storage unit 
contains only one data counter register, so 
the swap data counters instruction has no 
effect. 

The 16 bit stack register (called PC1) is 
primarily used as a buffer for the program 
counter, saving return addresses for subrou- 
tines and interrupt handlers. The stack regis- 
ter is logically connected to the K register of 
the processor scratchpad and may be loaded 
to or from the K register. Whenever the 
value of the program counter is saved in the 
stack register, the value in the stack register 
is first saved in the K register. 

The internal circuitry of the two 10 ports 
within the program storage unit may be 
selected from one of three manufacturing 
mask options for different hardware applica- 
tions: standard pull up, open drain, or driver 



Figure 7: Block diagram of 
the 3852 dynamic mem- 
ory interface. 



ADDRESS XFER BUS (16 BITS) 



1 



PROGRAM 
COUNTER 
PCo 



16 



K 



XFER 
GATE 



s 



M 



| MIXER BUS : 



DATA 

COUNTER 

DCo 



MIXER BUS 



16 



STACK 

REGISTER 

PCI 



K 



n 



INCREMENTER 
ADDER 



DATA 

COUNTER 

DCl 



JT 



^2. 



UPPER 
BYTE 
XFER 
GATE 



ADDRESS BUS (16 BITS) 



8 



/ 

POWER SUPPLYS 
AND CLOCK LINES 



m 



LOWER 
BYTE 
XFER 
GATE 



ADDRESS 
DEMUX 



DATA BUS (8 BITS) 



T 



ADDRESS CONTROL RAM 
LINES LINES WRITE 

(3-S) (3-S) 



Tl TT^-f 



REFRESH 
ADDRESS 
COUNTER 



I 5" 



DMA 8 REFRESH CONTROL 



T 



— { — ; r 

MEM CYCLE CPU EXTERNAL 
IDLE REO SLOT DATA BUS 



CPU 
READ 



92 



pull up. The programmable timer and inter- 
rupt logic are accessed in the same manner as 
the 10 ports with specifically assigned port 
addresses that are the same in each program 
storage unit except for the page select bits. 

The programmable timer port is a con- 
tinuously running polynomial shift register 
that sends a signal to the interrupt control 
logic every 3.953 ms if the system has a 
2 MHz clock. Any numeric value between 
and 254 loaded to a timer port is decre- 
mented once every 31 clock pulses allowing 
programmed delays of up to 7,905 clock 
pulses. If 255 is loaded into a timer port, the 
timer is stopped. When a loaded timer count 
is decremented to zero, a timer interrupt is 
generated and will be transmitted to the 
processor if timer interrupts have been 
enabled via a control code loaded to the 
interrupt port. 

A mask programmed 16 bit interrupt 
vector is pushed into the program counter 
whenever an interrupt from the interrupt 
control of the program storage unit is 
serviced. However, bit 7 of the interrupt 
vector is set by the interrupt control and is 
not mask programmed. 

Pin assignments of the 40 pin program 
storage unit chip are shown in figure 4 with 
a block diagram in figure 5. Each chip 
requires +5 V and +12 V DC power supplies 
with total power typically less than 275 mW. 

The 3852 Dynamic Memory Interface 

The dynamic memory interface provides 
the necessary address and control lines to 
interface up to 64 K bytes of programmable 



V G G- 

WRITE- 

MEMIDLE- 

CPUSLOT- 

RAM WRITE- 

CYCLE REQ- 

ADDR7- 

ADDR6- 

ADDR5- 

ADDR4- 

ADDR3- 

ADDR2- 

ADDR1- 

ADDRO- 

DBO- 

DB1- 

DB2- 

DB3 

v S s- 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 



\^r 



Pin Name 

DBO- DB7 
ADDRO - ADDR15 
O, WRITE 
MEMIDLE 
CYCLE REQ 
CPU SLOT 
CPU READ 
REGDR 
RAM WRITE 
ROMC0- ROMC4 
V S S = 0V ) 

V D D = +5V 
VGG = +12 V 



40 
39 
38 
37 
36 
35 
34 
33 
32 
31 
30 
29 
28 
27 
26 
25 
24 
23 
22 
21 



-VDD 

-ROMC4 

-ROMC3 

-ROMC2 

-ROMC1 

-ROMC0 

-CPU READ 

-REGDR 

-ADDR15 

-ADDR14 

-ADDR13 

-ADDR12 

-ADDR11 

-ADDR10 

-ADDR9 

-ADDR8 

-DB7 

-DB6 

-DB5 

-DB4 



Figure 8: Pin designations 
for the 3853 static mem- 
ory interface chip. 



Description 

Data bus lines 
Address lines 
Clock lines 
DMA timing line 
RAM timing line 
Timing line 
RAM timing line 
Register drive line 
Write line 
Control lines 

Power lines 



Type 

Bidirectional 

Output 

Input 

Output 

Output 

Output 

Output 

Input output 

Output 

Input 

Input 



ADDRESS XFER BUS (I6BITS) 



K 



PROGRAM 
COUNTER 
PCo 



<^> 



6 

±2- 



K 



XFER 
GATE 



16 



M 



| MIXER BUS i 



in> 



DATA 

COUNTER 

DCo 



MIXER BUS 



STACK 
REGISTER 
PC I 



S 



n 



INCREMENTER 
ADDER 



DATA 
COUNTER 
DC l 



JT 



"\ UPPER 
"" BYTE 
XFER 
GATE 



ADDRESS BUS 06 BITS) 



/ 

POWER SUPPLYS 
AND CLOCK LINES 



y 



LOWER 
BYTE 
XFER 
GATE 



8 



ADDRESS 
DEMUX 



DATA BUS (8 BITS) 



CROM 



¥ 



MEMORY 



ADDRESS CONTROL RAM 
LINES LINES WRITE J. 



nn 



I — 5 — I I — 5 — I 

INTERRUPT ADDRESS 
REGISTERS 



T 



INTERRUPT 
CONTROL 



ITTT 



REGDR 



CPU 
READ 



EXTERNAL 
DATA BUS 



PRI INT EXT 
IN REO INT 

TO 

CPU 



Figure 9: A block diagram 
of the 3853 static memory 
interface. 



93 



memory, read only memory, or combina- 
tions of the two to the F8 processor. It 
contains the same address registers as the 
3851 program storage unit but it has two 
data counter registers (DCO and DC1). DC1 
is used as a temporary storage buffer for 
DCO and the swap data counters instruction 
may be used to exchange the contents of the 
two counters. The dynamic memory inter- 
face has no chip select mask since the entire 
program counter address is passed from the 
dynamic memory interface to the attached 
memory which in turn must decode the 
appropriate chip select lines. Two address- 
able ports provide direct memory access 
capabilities in conjunction with the 3854 
direct memory access chip discussed later 
and also provide refresh control for external 
dynamic MOS memory chips. Figure 6 
shows the pin assignments of the 40 pin 
package while figure 7 shows a block dia- 
gram of the interface. 



DIRECTION- 


1 V f 40 


- DWS 




ENABLE- 


2 


39 


- STROBE 




XFER- 


3 

4 


38 
37 


- LOAD REG 

- MEMIDLE 




XFER REQ- 




vqg- 


5 


36 


- * 




Vdd- 


6 


35 


- v S s 




ADDR8 — 


7 


34 


- ADDRO 




ADDR9- 


8 


33 


- ADDR1 




ADDR10- 


9 


32 


- ADDR2 




ADDR11 - 


10 


31 


- ADDR3 




ADDR12- 


11 


30 


- ADDR4 




ADDR13- 


12 


29 


- ADDR5 




ADDR14- 


13 


28 


- ADDR6 




ADDR15- 


14 


27 


- ADDR7 




P1 - 


15 


26 


- READ REG 




P2- 


16 


25 


- WRITE 




DB7- 


17 


24 


- DBO 




DB6- 


18 


23 


- DB1 




DB5- 


19 


22 


- DB2 




DB4- 


20 


21 


- DB3 
escription 




Pin Nam 


e 


D 


Type 


DB0- DB7 


Data b 


js lines 


Bidirectional 


ADDRO- ADDR15 


Addres 


s lines 


Output 


<t>, WRITE 


Clock I 


ines 


Input 


LOAD REG/READ REG 


Registe 


rs load/read line 


Input 


P1, P2 


Port ad 


dress select 


Input 


MEMIDLE 


Memor 


V idle line 


Input 


XFER REQ 


Transfe 


r request line 


Input 


ENABLE, DIRECTION 


Contro 


status lines 


Output 


DWS, XFER 


DMA w 


/rite slot, transfer 


Output 


STROBE 


Output 


strobe line 


Output 


V S S = o V ) 








V D D = +5 V \ 


Power 


ines 


Input 


VGG+12V 











Figure 7 0: Pin designations for the 3854 direct memory access chip. 



The 3853 Static Memory Interface 

The static memory interface chip is very 
similar to the dynamic memory interface 
except it is used to interface only static 
memory to the processor and does not have 
direct memory access capabilities. In addi- 
tion, it contains local timer and interrupt 
control ports like those in the program 
storage unit together with two additional 
programmable interrupt vector registers. Fig- 
ure 8 shows the pin assignments for the 40 
pin chip and figure 9 shows a block diagram 
of the static memory interface. 

The 3854 Direct Memory Access 

The direct memory access chip, together 
with the dynamic memory interface chip, 
allows high speed data transfers between 
peripherals and memory. All direct memory 
access data transfers are made during the 
second and third clock pulses of each 
instruction cycle without affecting program 
execution time. Up to four direct memory 
access chips may be used in a single F8 
system and an external device, including 
another microprocessor, may be connected 
to the system through these chips. 

The direct memory access interface con- 
tains three internal registers that are 
addressed as four separate 10 ports: a 16 bit 
address register holds the address of the next 
memory byte to be accessed for a transfer; a 
12 bit byte count register allows blocks of 
up to 4 K bytes to be transferred; and a 4 bit 
control register determines the direct mem- 
ory access operation to be performed. Figure 
10 shows the pin assignments and figure 11 
is a block diagram of the direct memory 
access unit. 

Applications and Conclusions 

For personal computer applications, the 
F8 system provides an easy to use building 
block architecture with a narrow bus struc- 
ture simplifying hardware design and con- 
struction. Figure 12 shows a general F8 
system configuration implementing all of the 
possible system components. The F8 system 
architecture restricts the maximum number 
of chips per system as follows: 

1 — 3850 central processing unit 
64 — 3851 program storage units 
1 — 3852 dynamic memory interface 
1 — 3853 static memory interface 
4 — 3854 direct memory access 

At the other extreme, a minimum F8 system 
requires only two chips, the 3850 processor 
and a single program storage unit. 

Since all program storage units are mask 
programmed during manufacturing, software 



94 



3us C 



VGG 
VDD 
VSS 







OATA BUS 
DRIVERS 



c 



F8 
ROMC 

LINES 



D 

E 
C 

D 

E 
R 



XFER R£Q»- 



MEMIDLE 




-t> 



<~> 



I/O 

SELECT 

LOGIC 



ADDRESS a CONTROL 
REGISTERS 



(INCREMENTER/DECREMENTER) 







<> 



PORTO- PORT 3 



HIGH SPEED 



^^ 



ADDRESS 
DRIVERS 



^ 



D^^ l 



^T^ l 



-D°-F°]- h ' 



— >- 
— >- 



)ADDR 
LINES 



ESS 



-►ENABLE 



^>rO-t> 



•XFER 



-►STROBE 



Figure 11 : Block diagram of the 3854 direct memory access. 



development may be slightly more difficult 
or expensive for the hobbyist depending on 
the applications involved. By using a 
dynamic memory interface or a static mem- 
ory interface along with standard memory 
chips, the more expensive program storage 
units may be avoided and make software 
development much easier. At least one pro- 
gram storage unit should, however, be 
included in a basic system to provide the 
additional 10 and programmable timer ports. 
Ideally, this program storage unit would 
provide a standard, commercially available, 
software utility package designed for the 
average hobbyist. Additional units could 
then be added later for standard, more 
advanced software or when desired custom 
routines and programs have been thoroughly 
tested. 

The F8 microprocessor system appears to 
be most ideally suited for mass produced 
microprocessor based products utilizing 
proven software. It does, however, provide 
enough flexibility to be of more than passing 
interest for general purpose personal com- 
puter applications." 







38 50 
CPU 


I/O 


x° 








I/O 


— '--7 
















3851 
PSU 


I/O 


L»-7 








I/O 


— r* 

— '-+7 


W 

m 














3851 
PSU 


I/O 


— T*° 

— '-- 7 




I/O 




o 

P 

z 
o 
u 

Q 




— '<-* 7 












3853 
SMI 




< 




TO STATIC 


< 
1- 
< 














3852 
DMI 








TO DYNAIt 




















3854 
DMA 


CONTROL 








( 












[ 



Figure 12: An F8 micro- 
processor system configu- 
ration. 



DMA CHANNEL 



95 



A MIKBUG Roadmap... 



John Rathkey 
4808 SE 28th #316 
Portland OR 97202 



Some of the more useful microprocessor 
options for hobbyists available today are 
based upon Motorola's MIKBUG monitor 
program. These options include the Moto- 
rola 6800 Design Evaluation Kit, the SWTPC 
6800 computer, etc. A big attraction of such 
kits is the MIKBUG read only memory, 
which provides the user with a monitor 
system and includes several utility routines. 
These allow the user to program in hexa- 
decimal code from the terminal rather than 
in a binary code from the front panel. The 
purpose of this article is not to extol the 
virtues of the kit, but to demonstrate to 
proud new owners of 6800 systems that the 
MIKBUG read only memory can be used to 
much greater advantage than is generally 
pointed out by the manuals, particularly for 
IO techniques. An example of the use of 
MIKBUG routines is provided by the simple 
application of listing 1, a program which 
adds two numbers. 

The MIKBUG firmware is a computer 
program for the 6800, copyright 1974 by 
Motorola Inc. It is called firmware because it 
resides in read only memory and is non- 
volatile. In computers which use MIKBUG 
the program is located starting at hexa- 
decimal address E000. The MIKBUG firm- 
ware takes 512 bytes, or just half of the 1 K 
memory. The program does not use the 
other half, nor does it use any device located 
at an address higher than hexadecimal El FF, 
the end of the MIKBUG firmware. The 6800 
microprocessor does use higher addresses for 
the interrupts and restart, but these are 
decoded to address locations within 
MIKBUG when MIKBUG is used. 

The main function of MIKBUG firmware 
is to provide a monitor and several utility 
functions which make the programming and 
debugging processes easier. The monitor can 



be regarded as a home base in the vast 
wilderness of addressable memory. It accepts 
utility function commands, executes them, 
and returns to the terminal with an asterisk. 
If a program gets lost in memory, control of 
the situation is regained by pressing the reset 
button, which brings back the ever faithful 
servant monitor. The utility functions allow 
the user to load memory with a paper tape 
reader (L), go to any address and begin 
executing there (G), examine and change the 
contents of memory (M), print and punch 
selected blocks of memory (P), and display 
the contents of the stack, on which the 
values of all the registers are stored when 
under MIKBUG control. 

To take advantage of MIKBUG one must 
have a terminal, and most often the begin- 
ning hobbyist will have no other peripherals 
to play with. Anyone who has purchased a 
microprocessor kit and has encountered the 
"let's see it do something" attitude from 
doubting friends and acquaintances will 
appreciate the immediate need for quick and 
easy IO techniques. Such techniques are 
present in MIKBUG, just waiting for the 
user, if he or she can find them. MIKBUG is 
organized in several groups of subroutines, 
which are selectively accessed by the MIK- 
BUG utility functions that need them. For 
example, the memory change function needs 
a routine to input a character (M), output a 
character (space), input a 2 byte number 
(the address to be examined), input a car- 
riage return, output a 2 byte number, space, 
then a 1 byte number, and so on. Many of 
these routines are nested several levels deep. 
For example, the routine to output a 2 byte 
number simply calls the routine to output a 
1 byte number twice in a row. That's simple 
enough. Since a 1 byte number looks like 
two characters from the set zero through F 



96 



to the terminal, the routine to output 1 byte 
uses the routine to output a character twice. 
As you may have guessed, input routines for 
numbers and characters use the same clever- 
ness. The point of all this is that the user can 
use aforementioned cleverness for his or her 
own IO routines by simply accessing the 
MIKBUG subroutines at the appropriate 
places. People with a MIKBUG listing, fa- 
miliarity with the 6800 instruction set, and 
the time and patience to trace through 
Motorola's MIKBUG mouse maze of sub- 
routines can figure out where the appro- 
priate places are for themselves. I encourage 
you to attempt this, for your own edifica- 
tion and purification of spirit. (It's always a 
good practice, when learning a new com- 
puter's instruction set, to peruse a few 
existing programs like MIKBUG in order to 
get examples.) Those lacking one of the 
above ingredients, or the inclination to try 
it, can get some of the more useful informa- 
tion from what I've found. 

Output Character 

The output character routine, labeled 
OUTEEE in the MIKBUG listing, is located 
at hexadecimal address E1D1. It uses accu- 
mulator A as a data source. Thus you must 
define the contents of accumulator A which 
will then be interpreted as an ASCII char- 
acter and shifted out in standard asynchro- 
nous format. It also uses accumulator B and 
the X register, but saves their contents at the 
beginning of the subroutine and restores 
them at the end. Therefore, the user need 
not be concerned with losing the contents of 
B or X. Listing 1 shows an example of the 
use of OUTEEE in a subroutine labeled 
PSTR which prints a string of characters, or 
a message. Control functions such as carriage 
return and line feed may also be imple- 
mented this way, by outputting their ASCII 
codes. 

Input Character 

The input character routine, labeled 
INEEE in the MIKBUG listing, is located at 
hexadecimal address El AC. Like OUTEEE it 
saves the X and B registers. When accessed, 
INEEE loops while waiting for an asyn- 
chronous format character to be sent from 
the terminal, and upon receiving input, shifts 
data into the A accumulator. After access to 
INEEE the content of the A accumulator is 
the ASCII code for the key of the terminal 
which was pressed when INEEE was called. 

Input Byte 

This routine, labeled BYTE in the MIK- 
BUG listing, is located at hexadecimal 



Listing 1 : This example program demonstrating the uses of 
MIKBUG uses all the techniques discussed in the article. 
The program requests and inputs two I byte numbers. It 
then adds them and prints the decimal adjusted result in an 
algebraic sentence. The program then asks the user if 
another run is desired. If the reply is Y, it branches to the 
beginning of the program; otherwise it returns to monitor. 
This program requires a mere 1 27 bytes of memory. 





MAUSAM IS 


IMP PROPERTY 


IF M0I0R0LA SI'Ilr INC. 






COPYRIGHT J 974 TO 


19 


75 BY MOTOROLA INC 






MOTOROLA MABOO i: 


<0SS 


AS 


3EMBLER. 


RELEASE 1.2 




OO0O.I 






NAM 




Ann 






00002 


oooo an is 


BEGIN 


BSR 




CARREI 


CARRIAGE RETURN 




0000.3 


0002 CE 00 All 




1. IPX 




tMESSl 


SI ART ADDRESS. 1ST MESS 




00001 


ooos an 52 




BSR 




PSTR 


PRINT MESSAGE 




00005 


0007 ca OOAV 




i nx 




men 


STAR! ADDRESS. MEM BLOCK 




0000 A 


OOOA 111) E055 




JSR 




*E055 


INPUT 1ST NUMBER 




0000/ 


0001! A 7 00 




SI A 


A 


o.x 


STORE 1ST NUMBER 




ooooa 


0001" HII Ml 




BSR 




CARRE 1 


CARRIAGE RETURN 




00009 


ool i mi loss 




JSR 




SE055 


INPUT 2ND NUMBER 




00010 


0014 A/ 01 




STA 


A 


1 .X 


STORE 2ND NUMBER 




00011 


ooia mi oo 




Aim 


A 


O.X 


ADD NUMBERS 




0001 2 


0018 IV 




DAA 






DECIMAL ADJUST 




0001 J 


ooi v a ' 02 




SIA 


A 


2.X 


STORE ANSUER 




000 1 4 


001 II 25 48 




BCS 




OURI 1 U 


BRANCH 11 ANSWER 99 




000 lb 


00111 So 20 




i no 


A 


1*20 


SPACE 




0001 A 


001 F 0/ 03 


ANSUR 


BTA 


A 


3.X 


STI1RI 1ST ANSWER DIGIT 




00017 


0021 OH 29 




BSR 




CARRE 1 


CARRIAGE RETURN 




00018 


0023 BI! EOBF 




JSR 




(EOBF 


Oil IFilT ISI NUMBER 




0001 V 


002A BA 2B 




i ba 


A 


11*211 


. ., „ 




00020 


0028 im 11 HI 




JSR 




tE.UII 


OUTPUT ■+' 




00021 


002B BI) lOW 




JSR 




IE Oil I 


Dili Pill 2ND NUMBER 




00022 


0021 HA 3D 




1 DA 


A 


H13II 






0O023 


0030 nn 1 llil 




JSR 




•H: ID! 


OUTPUT •=--• 




00024 


0033 A6 01 




III A 


A 


l.X 


1ST ANSWER DIGIT 




0002:., 


0035 BIl 1:1 III 




JSR 




tElIJ.I 


OUTPUT 1ST ANSWER DIGIT 




00026 


0038 BIl EOBF 




JSR 




IHEOBF 


OUTPUT ANSWER 




00027 


003B 811 OF 




BSR 




CARREI 


CARRIAGE RETURN 




00028 


0031! CE 0078 




LUX 




4MkSH2 


START ADDRESS. 2ND MESS 




0002V 


0040 an i 7 




BSR 




PSTR 


PRINT 2ND MESSAGE 




0O03O 


0042 BI! E1AC 




JSR 




1E1AC 


INPin CHARACTER 




00031 


0015 a I 59 




CMP 


A 


**5V 


=Y? 




00032 


0047 27 B7 




BED 




BEGIN 


IF SO REPEAT PROGRAM 




00033 


004V 7E EOF-3 




.IMP 




*E0E3 


OTHERWISE RETURN TO MONITOR 




00031 


004C 3A 


CARRE! 


PSH 


A 




SAUE A 




00035 


004 1) BA on 




IDA 


A 


#*0II 


CARRIAGE RETURN 




00036 


004F BIl I llll 




JSR 




11 l n 1 


OUTPIII CARRIAGE RETURN 




00037 


005.' 8 A 00 




1 1IA 


A 


**0A 


LINF FEFII 




00038 


0054 BI) E mi 




JSR 




$i i ni 


OUTPUT I.TNE FEED 




0003V 


0057 32 




I'll! 


A 




RESTORE A 




00010 


005H 3V 




RTS 






BACK TO MAIN PROGRAM 




00011 


005V A A 00 


PSTR 


I DA 


A 


X 


GET CHARACTER 




00017 


005B 111 




1ST 


A 




BYIE=0? 




00013 


005C 27 OA 




BEO 




EX II 


THEN GO BACK 




00011 


005E BI) 11 III 




JSR 




1.1 i n I 


OTHERWISE OUTPUT CHARACTER 




00015 


00 A 1 OB 




I NX 






NEX1 CHARACTER 




0001A 


0062 20 F5 




BRA 




PSTR 






00047 


0061 39 


EX1 1 


R IS 






RETURN TO MAIN PROGRAM 




00046 


00A5 BA 31 


OVRFLW 


IDA 


A 


tt.il 


■!■ 




0004V 


0067 20 BA 




BRA 




ANSUR 


RETURN TO MAIN PROGRAM 




00050 


OOAV 0004 


MEM 


K'MB 




4 


RESERVE 4 SPACES 




00051 


OOAII 32 
OOAE 20 
OOAF 11- 

0070 IF 

0071 2E 

0072 27 

0073 53 
0071 3F 


MESB1 


FCC 




8.2 NO. 


'S? 




00052 


0075 on 

0076 on 

0077 00 




FOB 




ton, toe 


.0 




00053 


0078 1D 

0079 IF 
007A 52 
007B 45 
007C 3F 
007B 20 


MESS2 


FCC 




A, MORE' 






00054 


007E 00 




FCE 











00055 






END 










SYMBOL TABLE 














BEGIN 


OOOO ANSUR 


00 IF 


CARREI 


004C PSTR 00SV EXIT 0064 




OURFLU 0065 MEM 


006V 


MESS1 


00611 MESS2 0078 





97 



address E055. BYTE does not affect the 
X register, but unlike OUTEEE and INEEE, 
it destroys the previous contents of the 
B accumulator. BYTE uses INEEE twice to 
get two characters, checks to be sure they 
are hexadecimal characters, and combines 
them, converting them to a 1 byte binary 
number in the process. This is stored in the 
A accumulator and is present there on return 
from BYTE. 

Output Byte 

This routine, labeled OUT2H in the 
MIKBUG listing, is located at hexadecimal 
address EOBF. It outputs one byte of data 
located at some memory address chosen by 
the user. OUT2H requires that the X register 
be loaded with the address of the byte of 
data to be output, which may be located 
anywhere. This routine does not affect the 
contents of accumulator B, but does change 
the contents of accumulator A. It also 
increments the X register, which makes it 
very convenient for outputting sequentially 
located bytes in a block. More on this later. 



Table J: A descriptive list of the available MIKBUG subroutines summarizes 
the point of this article: Don't ignore the parts and pieces of your monitor, 
BASIC interpreter, compiler or other programs if you intend to write 
assembly language or machine language code. If you buy a program, ask for a 
source listing so you can get programming technique pointers. (Motorola is to 
be commended for handing out MIKBUG listings as a standard part of 
documentation right from the start. MIKBUG is described in detail in 
Engineering Note 100, "MCM6830L7 MIKBUG/MINBUG ROM," which was 
published by Motorola. The program is credited to Mike Wiles and Andre 
Felix of Motorola Semiconductor Products Inc.) 



Entry Points Discussed Here. 



Address 



Name 



E1D1 


OUTEEE 


E1AC 


INEEE 


E055 


BYTE 


EOBF 


OUT2H 


E0E3 


CONTRL 



Description 

Character output: A sent to terminal device. 
Character input: A set equal to next input character. 
Hex byte input: input two characters as hexadecimal 

byte in A. 
Hex byte output: A sent to terminal as two 

hexadecimal digits. 
Return to MIKBUG control. 



Other Useful MIKBUG Entry Points. . 



Address 


Name 


EQ47 


BADDR 


E067 


OUTHL 


E06B 


OUTHR 


E07B 


PDATA2 


EOAA 


INHEX 


E0C8 


OUT4HS 


EOCA 


OUT2HS 



Description 



Build address by calling BYTE twice; result in 

X register. 
Hexadecimal digit output from left nybble of 

byte in A. 
Hexadecimal digit output from right nybble of 

byte in A. 
Print string of data pointed to initially by X, 

until EOT character (hexadecimal 04) is found. 
Input hexadecimal digit, on error go to CONTRL. 
Output four hexadecimal characters and a space 

(uses OUT2H). 
Output two hexadecimal characters and space 

(usesOUT2H). 



Access to Subroutines 

In the 6800 instruction set there are 
16 branch instructions and two jump in- 
structions. All may be used to access sub- 
routines under certain conditions. The 
branch instructions all use relative address- 
ing, which limits the range of branching 
from 1 26 bytes backwards to 129 bytes for- 
wards. This is because they use a 1 byte 
operand as the branch offset. The jump 
instructions (extended addressing) use a 
2 byte operand which allows them to jump 
anywhere. One of the branch instructions 
(BSR) and one of the jump instructions 
(JSR) store a return address in the stack 
before executing the branch. They go to the 
addresses specified by their operands and 
begin executing instructions at the new 
address until they encounter the return from 
subroutine instruction (RTS), at which point 
they return to the return addresses pre- 
viously stored. Each return from subroutine 
instruction read by the processor must be 
paired with a branch or jump to subroutine 
instruction, although the same subroutine 
may be accessed by more than one branch or 
jump instruction. If a subroutine or a series 
of subroutines which is terminated with a 
return from subroutine instruction is ac- 
cessed by any of the other branch or jump 
instructions, the return instruction will cause 
a return to an invalid address since the stack 
would not have been properly set up. 
Similarly, if a subroutine or a series of 
subroutines which does not end with the 
return instruction is accessed with jump or 
branch to subroutine, there will be no return 
to the main program. It just gets lost. The 
MIKBUG subroutines discussed in this 
article all eventually end with the return 
from subroutine instruction. Since they will 
always be located further than 129 bytes 
away from the main program departure 
point if called by a user, they must be 
accessed with the jump to subroutine 
instruction. 

General 10 Techniques 

More often than not, a program will need 
to input or output more than one character 
or byte at a time. The use of subroutines 
which access the MIKBUG subroutines facil- 
itate this. An obvious example is the need to 
print a message, which involves printing 
several characters in a row. A good way to 
do this is illustrated in the subroutine 
labeled PSTR in listing 1. PSTR requires that 
the X register contain the starting address of 
a block of characters to be printed. PSTR 
increments the X register each time it prints 
a character and returns when it encounters 



98 



an ASCII code of 00, which is a rarely used 
control character and is easily recognized 
with the test for zero (TST) instruction. 
Other stop characters could also be used. 
Similar subroutines may be used to input 
strings of characters or numbers. These 
subroutines may know when to quit by 
either counting the inputs and stopping at a 
preassigned number or by recognizing a stop 
character or number at the end of a string. A 
routine to output a string of sequentially 
located bytes would be even easier than 
PSTR using the same idea, because OUT2H 
increments the X register itself. Such a rou- 
tine may also be terminated by either 
counting outputs or by recognizing a stop 
byte at the end of a data block. If a 
subroutine inputs or outputs hexadecimal 
numbers, it is best to count in order to 
terminate, otherwise one of the 256 possible 
numbers is excluded from use because it is 
the stop number. When using the decimal 
numbering system, any byte which is not a 
member of the set of 1 byte binary coded 
decimal numbers may be used as a stop byte. 

Individual characters or small groups of 
characters which are input or output fre- 
quently in one program deserve their own 
subroutines. A good example is the combina- 
tion of carriage return and line feed. The 
subroutine in listing 1 labeled CARRET 
illustrates this. 

There may be times when an ouput is 
desired on certain conditions. There are 
14 conditional branch instructions which 
make it easy for subroutines to serve these 
needs. The subroutine labeled O.VRFLW in 
listing 1 illustrates this situation. In the 
sample program, if the decimal adjusted 
result of the addition is greater than 1 00, the 
carry bit is set and the byte reserved for the 
answer holds only the two least significant 
digits. OVRFLW is accessed if the carry bit 
is set, and prints a 1 in front of the answer 
byte to make the algebraic sentence correct. 

Return to Monitor 

A happy end to any program is a graceful 
return to monitor. This is labeled CONTRL 
in the MIKBUG listing, and is located at 
hexadecimal address E0E3. CONTRL should 
be accessed with the jump (JMP) instruction, 
and only at the end of the users program. 
Listing 1 includes examples of all the 
routines described above. Other routines, or 
different nesting levels of the ones men- 
tioned here, may be found in the MIKBUG 
listing, and are summarized by name in 
table 1. The industrious reader can find 
routines which may be more useful to him 
or her, but the preceding ones will help get 
the show on the terminal." 



| Without our software, | 
we're just another flasher. 



i 
i 

i 
i 
i 

i 

i 

i 

i 
i 




Let's face it. No microcomputer is 
worth a dime if you can't make 
it work. Even E&L's Mini-Micro- 
designer would be just a "light 
flasher" if it weren't for our soft- 
ware system. 

But the fact is that our tutorial soft- 
ware is the best in the business. 
Not just a pathetic rehash of chip 
manufacturers' specifications. But 
a clearly written, step-by-step in- 
struction that teaches you all about 
the microcomputer. How to pro- 
gram it, how to interface it, how to 
expand it. 

The teaching material is written by 
Rony/Larsen/Titus (authors of the 
famous Bugbooks). It's called Bug- 
book V. And it teaches through ex- 
periments designed specifically to 
get you up to speed on our Mini- 
Microcomputer (MMD-1). And you 
don't need any prior knowledge of 
digital electronics! 



The best news? E&L's MMD-1 costs 
only $380 in kit form, including all 
software and teaching material. 
And now it's available locally from 
your nearest computer store. Stop 
in today and get the whole picture. 
MMD-1. The finest microcomputer 
system on the market. 



c 



c 



ID 

H 



E&L INSTRUMENTS, INC. 

61 First Street, Derby, Conn. 06418 
(203) 735-8774 Telex No. 96 3536 

Dealer inquiries invited. 




J 



99 



Classified Ads 



WANTED: One set unpopulated MOD-8 PC boards 
and Monitor 8 extra RAM boards. Jerry Walker, 
761 Clayton, San Francisco CA 941 1 7. 

WANTED: Parts to complete Teletype Corp model 
35 for my own personal home computer system. I 
only have a typing unit. Karl F Kornafel, 2741 
Baur Dr, Indianapolis IN 46220; home after 1800: 
(317)257-6044 or business after 2300: 
(317)262-2445. 

WANTED: Schematics or PC board layout for 
simple Intel 8008 microprocessor using minimum 
hardware; also need simple 1702A PROM pro- 
grammer schematic. Will pay or exchange for 
technical information. Raymond J Ramirez, 2A-8 
Bairoa Pk, Caguas PR 00625. 

FOR LEASE: Model 735 Silent 700 portable data 
terminal. 6 month term for $90 per month. Has an 
acoustic coupler, RS 232 interface, full or half 
duplex, 10 to 30 cps, ASCII code. Dick Harding, 
633 Kingwood Rd, King of Prussia PA 19406; 
(215)265-3719 (eve) (215)864-7017 (day). 

WANTED TO BUY: PDP8-E expander box with 
cable and quad slot bus assembly. 861 -C cabinet 
power control, MI8-E bootstrap, MM8-E and 
MM8-EJ memory modules, card reader, printer, 
disk control and drive, magnetic tape, cassette 
system, all with cable and interface card for 
PDP8-E. Willing to talk about any PDP8-E hard- 
ware or software. Please call: (617)861-6500 or 
write: Harry Bellmar, Minuteman Regional School, 
758 Marrett Rd, Lexington MA 02173. 

FOR SALE: FLEXOWRITER model SPD has 8 
level reader and punch. Previously used to create 
computer data base. Standard unit without modifi- 
cations or changes. $1 75. M T Buckelew, POB 1 0, 
Falls Church VA 22046. 

FOR SALE: Memories - 270 1103 1K RAMs 
S400, 160 74S206 256 bit RAMs $500, and a core 
stack constructed from 17 planes of IBM 1401 
memory $200. Each plane of the stack is arranged 
as a 50 x 80 matrix with separate sense and inhibit 
lines (68,000 bits total). All of the above will be 
sold with documentation included. Also for sale — 
8080A CPU chip $25. Contact: Arthur W Wetzel, 
222 North Craig St, Apt 2A, Pittsburgh PA 15213, 
(412)624-5208 (day) or (412)683-6293 (evening). 

WANTED: Information on care and maintenance 
of a Friden 2303 Flexowriter. Also would like 
information on how to interface it with a proc- 
essor. I wilt pay for cost of duplication and 
mailing. Dan Hastings, 5055 Lily La, Apt 210, 
Indianapolis IN 46254, (317) 297-1079 (call 
collect). 



Readers who have equipment, software or other 
items to buy, sell or swap should send in a clearly 
typed notice to that effect. To be considered for 
publication, an advertisement should be clearly 
noncommercial, typed double spaced on plain 
white paper, and include complete name and 
address information. These notices are free of 
charge and will be printed one time only on a space 
available basis. Insertions should be limited to 100 
words or less. Notices can be accepted from 
individuals or bona fide computer users clubs only. 
We can engage in no correspondence on these and 
your confirmation of placement is appearance in 
an issue of 8 YTE. 

Please note that it may take three or four 
months for an ad to appear in the magazine. ■ 



FOR SALE: Tektronix model 115 pulse generator, 
10 ns pulser with delay and 100 Hz to 10 MHz 
repetition with manual, like new, $595. Tom 
Murph, 4244 Philadelphia Dr, Dayton OH 45405, 
(513) 274-4405. 

FOR SALE: Programs in BASIC, including games, 
scientific and educational programs. Also program 
guides and software packages. I have written a 
number of programs which I will sell for $1 to $5. 
All programs come with complete documentation 
including a cross reference listing of all variables. 
For list, send stamped envelope to: Richard 
Traynham, 2928 Softwind Trail, Fort Worth TX 
76116. 

DEC:BUY,SELL,or TRADE: I have some DEC-11 
modules and hardware. Included are such things as 
a DF11a, M7821, M795, and some brand new 
W9671 PDP-8 Wire Wrap Boards. I need, or am 
interested in, the following items: DL11e, DF01 or 
other modem, DR11c, KE11, KW11L, TA11, 
RC11, or a floppy drive. If you can part with any 
of the aforementioned items for cash or trade, 
please let me know. L Stewart, 1402 Regent St, 
Apt 506, Madison Wl 5371 1 , (608) 255-5380. 

FOR SALE: 1 C-Mod 80 system including: CPU 
(with 5204 Micro-Monitor), 2 K RAM card 
(2102-1's), parallel or serial IO card, backplane 
with connectors for 1 2 cards, $1 50 for above. RCA 
CDS 1 200 modem with documentation, $50; 
Teletype model BRPEB8 high speed 8 level punch, 
S45; RPC-4000 Computer System (has Fortran), 
S500. Call Sam Ulin at (302) 475-7355 evenings or 
write POB 216. Claymont, DE 19703. 

HELP: Does anyone out there have any informa- 
tion on a Data Trends Inc general terminal unit? I 
need schematics, operating information, anything I 
can get. Also need any data on International 
Computer Products Digi-Deck units. I will pay all 
reproduction costs and shipping, or I have wall 
sized (11 X 14) IC microphotos and electronics 
graphics-trade? Contact: Bob Retelle, 2005 
Whittaker Rd, Ypsilanti Ml 48197. 

FOR SALE: DEC PDP-8s, 4 K core memory, serial 
interface, possible IO bus, all cables and power 
supplies. $450 or best offer or will trade for video 
terminal, 8080 machine, or any DEC mass storage 
peripherals. Also needed: information on Design 
Elements or Mg2 Data Systems modem, model 
88-OA. Jim Gonzalez, 150 S Summit Av, Hacken- 
sack NJ 07601, (201)342-3110. 

WANTED: BYTE issues November 75 and April, 
May, June 76. Will pay almost any price. George 
Valaitis, 647 Linkfield Rd, Watertown CT 06795, 
(203)274-5628. 

HELP: Neophyte will pay for technical assistance 
in converting Burroughs TM20K714 terminal, with 
or without the control unit, to something my 
IMSAI 8 K BASIC can digest. Have 7 data bits in 
parallel at the terminal, no parity or buffers. I want 
to send entire line with a carriage return. A 
semischematic would do. Leo Biese, RFD 1, Hill 
NH 03243, (603)744-8906. 

FOR SALE: VIATRON 2111 data management 
system las advertised in March 1976 BYTE, page 
87). The unit is in brand new condition and works 
like a charm. Complete with instruction manuals, 
cassettes, and schematics for $400; also IBM 
Selectric Printing Robot attachment for above 
$175. you pay shipping (160 lbs). First cashier's 
check or money order for $550 takes them both. 
Bill Robertson, 123 W Pearl St, Apt 22, Nashua 
NH 03060. 

FOR SALE: Cleaning house, all new unused parts. 
Intel 4004 $5; 4040 S10; 4289 $2; 4201, 4002-1, 
4003 $1 each; MC6871A S5; MC14411 $3; 1MHZ 
xtal $1; 1.797 MHZ xtal S1; MOS TECH scientific 
calculator chip set 2525-2526 with data sheets $5. 
Ron Angstadt, RD 3, POB 281, Kutztown PA 
19530. 

WANTED: Does anyone have a spare copy of 
SWTP Newsletter No. 1? It's no longer available 
from SWTP; many thanks!! Also, if you have use 
for an IBM 6400 accounting system, please write: 
"Pete" Peters, Microputer Tinkers Society, 3845 
Le Bleu St, Beaumont TX 77707. 



FOR SALE: ASR33, excellent condition (used by 
a little old Altair), $800. George Nelms, 3908 
Abbott Av S, Minneapolis MN 55410, 
(612) 922-3087. 

FOR SALE: Altair compatible 8080 CPU board 
with sockets, S35. CDC floppy disc drive in a sack 
includes spares and documentation, $125. Super 
Display: Computek 400/20, 96 character ASCII, 
Vector and Curve generator. Joystick input and 
keyboard, RS 232 1 1 0-2400 baud, full documenta- 
tion, $1250. Vermont Research Drum, 950 tracks, 
2600rpm, Read/Write electronics, documentation, 
$350. Hans Mahr, 28028 Ella Rd, Rancho Palos 
Verdes CA 90274, (213) 377-0735, eves. 

FOR SALE: Paper Tape Splices. Prepunched, clear 
or opaque mylar patches for 8 channel tape. S2 per 
50 or $3 per 100. Send SASE. Finest quality, 
money back guarantee. Mike Campo, 457 Prom- 
ontory Dr W, Newport Beach CA 92660, 
(714) 751-8271. 

FOR SALE: Dual-drive Innovex Diskette (1974) 
for PDP-8E, ready to plug into Positive I/O 
Interface. Includes test tape, 1 used Diskettes 
(some with glitches), my own handler, 48 tracks, 8 
sectors of 259 12 bit words per sector. Best offer 
that is not absolutely ridiculous. William T Powers, 
1 1 38 Whitfield Rd, Northbrook I L 60062. 

FOR SALE: Ampex core memory 32 K of 8 bits, 
300 ns access with R/W electronics, power supply, 
and complete manual. $750 or make offer. Rainer 
McCown, 9537 Longlook Ln, Columbia MD 21045. 

WANTED: Information leading to the contact of 
Charles D Hackett, former USAF 306X0, current 
electronics freak. Have him contact Ssgt James D 
Tucker, Lot 8, Hughes Trlr Crt, Knob Noster MO 
65336, (81 6) 563-21 77, after duty hours. 

COMPUTING MACHINERY FOR SALE: One 
KIM board modified for half duplex terminal (can 
easily be changed back) in good working order 
with complete documentation. Also one JOLT 
system with CPU board, PROM board (with one 
PROM)and power supply mounted in box. Some- 
thing wrong with power supply but otherwise in 
working condition. Will sell both together for $200 
or KIM for $150 and JOLT for $75 all as is. 
Norman Bringsjord, 1346 Connecticut Av NW, 
Washington DC 20036, (202)785-9440. 

WILL TRADE/SELL: KELSEY8by 10 letterpress 
(like new) with 10 trays of type, (6 pt to 36 pt). 
All will be included. To use for business or hobby. 
Lots of extras. Value $750. Also have Thomas- 
Paramount Heathkit electronic organ in 100% mint 
condition with bench value $1150. Want micro- 
computer ensemble (IMSAI, MITS, ALTAIR, 
SWPTC, etc). Can be kit (unassembled) or assem- 
bled. Write or call and tell me what you have. 
Shipping arrangements will be negotiated to in- 
terested parties. H Zallen, PO Drawer 2790, 
Norman OK 73070, (405)364-1119. 

REALITY STRIKES!: I'm sitting on more of a 
system than I need in my work. 16 K PDP-8F (8 K 
core), dual Innovex diskette, VT-8E alpha/graphic 
terminal and KB, ASR-33 TTY, 16 channel A/D, 2 
channel D/A in need of two D/A converter ICs, 
rolling cabinet with 3 hinged sides. Worth over 
S13 k new; everything works. Will settle for less 
than half price, and accept some items in trade 
(toward Z-80 system) in lieu of cash. See your 
bank and make me an offer. William T Powers, 
1 138 Whitfield Rd, Northbrook I L 60062, 
(312)272-2731. 

FOR SALE: Motorola Evaluation Board 2 with 
Minibug 2 ROM, crystal clock, baud rate generator 
from 75 - 9600 baud. Has serial interface for 
20 mA TTY and RS 232 output, two 8 bit parallel 
output ports and fully buffered address and data 
lines. PC board has sockets for all chips and a 
socket for PC edge connectors. Asking $350 or 
best offer. R C Brand, 62 Preston Dr, N Kingstown 
Rl 02852, (401)295-1996 (evenings). 

WANTED: BYTE back issues, 2, 3, 8, 9 and 10. 
No reasonable offer refused, and I will accept 
Xerox copies. Write Mark Brown, Minneapolis 
Medical Research Foundation, 501 Park Av, 
Minneapolis MN 55415. 



100 



****** 



"V* 




lopYCilue/, 
profe//ionali/m 

Computer Shack stores are 
exciting, enjoyable places 
to visit. From the striking 
interior decor to the fun and 
challenge of the GAME 
ROOM, you'll find Computer 
Shack stores a completely 
new computer shopping 
experience. 

You can count on Computer 
Shack stores for total profes- 
sional support whether your 
needs are those of a com- 
puter hobbyist, education, 
science or business user. The 
skilled, management-trained 
staff offers knowledgeable 
service, expert maintenance, 
and software guidance. 



quality product/ 

At Computer Shack stores 
the emphasis is on quality 
products. Featured are the 
finest in microcomputers, 
interfaces and peripherals, 
including the full IMSAI line. 
Every store is completely 
stocked with tools, books 
and a complete line of 
accessories. 



SALE OF THE MONTH 

This month all Computer 
Shack stores feature — IMSAI 
8080 Kit with a free $52.00 
22/ Slot Mother Board. Each 
board purchased this month 
comes with a free $7.00 
IMSAI Edge Connector. 



beginner/ 
welcomed 

Do you want to get started 
with microcomputers? Are 
you seeking expert guidance 
on computers, peripherals, 
software? The place to visit 
is your nearest Computer 
Shack. 

Watch your local newspaper 
for Computer Shack open- 
ings. Each store features a 
monthly Sales Special. 

14860 Wicks Blvd. 

San Leandro, CA. 94577 

(415)895-9363 

Franchise Opportunities 

Available 



Now op«n in Hay ward CA, 22634 Foothill Blvd,(415) 538-8080 



Product 
Description 



Put Your Computer to Work 




Bill Roch 
RO-CHE Systems 
7101 Mammoth Av 
Van Nuys CA 91405 



Now that you have your hobby computer 
assembled and running . . . what next? Well, 
there is always Star Trek, Life, Hunt the 
Wumpos, and more in the way of computer 
games. After the games maybe you built a 
Christmas card list, list of anniversaries, 
phone directory or the like. But what 
happened when you volunteered to keep the 
batting averages for the Little League? All of 
a sudden you ran out of memory or you had 
to reenter the file of data each time you did 
an update. 

It seems the manufacturers of our little 
"beasties" did not foresee the need to read 
and write records. Sure, you can save and 
load blocks of data, but what about that 
collection of characters which makes up 
fields and a group of fields which makes up 
records? 

Our new product (RO-CHE Systems) is a 
controller designed to handle multiple motor 
control of audio cassette drives using status 
bits controlled by the computer. The soft- 
ware we supply with the unit is designed to 
work with either the high speed Tarbell 
cassette interface or the Altair 8800 ACR 
interface. In the past it took a commercial 
system or time sharing house to give you the 
ability to handle files containing individual 
records. With the "Magic Black Box" as we 
call it, control of audio cassette motors 
provides an element of automation pre- 
viously unobtainable using simpler cassette 
interface disciplines. We grabbed the extra 
status bits available on Don Tarbell's cassette 
interface and used them as control signals 
for the multicassette controller. In using our 
control box with other cassette interfaces, 
all you need to supply, outside of software 



patches to the driver routines, is a parallel 
interface output to accomplish the same 
function. 

This controller handles up to four inex- 
pensive cassette recorders at one time with- 
out losing the ability to save and load from 
Altair BASIC and other packages. The soft- 
ware developed with our unit reads and 
writes physical records to and from software 
selected records. It's like having a big com- 
puter with four tape drives but not as fast. 

With all this file handling software and 
the hardware control box available at a 
fraction of the cost of a big system, how can 
it be used? 

Personal computer users are doctors, 
lawyers and indian chiefs, butchers, bakers, 
candlestick makers, white collar, blue collar 
and dirty collar workers who are members of 
lodges, churches and bowling leagues, and 
owners and managers of businesses. 

With the capability of handling data files 
larger than your memory size, it becomes 
only a matter of user application software to 
create such things as: 

• Mailing lists 

• Membership rosters 

• Inventory 

• Accounts receivable 

• Accounts payable 

• Back orders 

• Batting and bowling averages 

• Form letters 

• Word processing 

• Check book balancing 

• Income tax calculations 
(I've started . . . you add to the list) 

We demonstrated the multicassette con- 
troller at the June and July Southern Cali- 
fornia Computer Society meetings where it 
was set up to create a mailing list. 

The demonstration started by one indi- 
vidual keying in his name and address which 
were written on deck 0. The next individual 
entered his last name. The software read the 
name from deck and decided which name 
to write to deck 1 first. The rest of the name 
was entered and now the tape in deck 1 had 
two names and addresses. Each time a name 
was entered, the old master file was read and 
the new name was merged in alphabetically 



102 



to the new master file. The demo software 
also had the ability to find a last name and 
print it out or to list the whole file of names. 
Last names were used as the key field for 
identification, but it could just as well have 
been part numbers, account numbers or any 
other such identification code. 

In addition to the cassette 10 routines, 
the software supplied with this box contains 
a number of utility routines for such things 
as keyboard entry and echo, message output, 
string compare, line feed, carriage return, 
siring moving, etc. 

Where to Get It 

RO-CHE Systems, 7101 Mammoth Av, 
Van Nuys CA 91405, offers the multi- 
cassette controls in a two and four port 
model at $95 and $125 in kit form, and 
$135 and $175 when assembled and tested. 
A two port add on kit is also available at 
$32. Shipping and handling is $2.50 per unit 
except the add on kit which is $1 . 

The units come complete with assembly 
and operating instructions and a cassette 
containing the RCSCOS operating systems, 
Tarbell IO and a low core assembler editor 
and monitor. Source listings of the operating 
system are available at $5 each." 



c 



KENTUCKY FRIED 
[COMPUTERS °1 




A discount computer store in Berkeley, California. 
We sell and service small computers for personal, 
educational, and business use, both in kit and 
assembled form. Many items are at substantial 
discounts from manufacturer's list prices. Special 
prices on complete systems. 

*IMSAI-Computers, memory, interfaces & peripherals 

North Star Computers-FPB & Disk 

Lear Seigler-ADM3 Terminal kit-$835 ($995 assem.) 
*Polymorphic Systems-Computers, memory & interfaces 
*Cromemco-TV Dazzler, Bytesaver, 7A+D & ZPU 

Enclosed Cherry Keyboard-$125 
♦Morrow's Micro Stuff -Cassette interface 
*Vector Graphics-memory 

'Starred items available by mail order at 10% discount 
from manufacturer's current list prices. For prompt 
delivery, send money order or cashiers check plus 2% 
shipping & handling. Personal checks require 3 weeks 
processing. Calif, res. add sales tax. Minimum order $80.00. 

KENTUCKY FRIED COMPUTERS 
2465 FOURTH STREET 
BERKELEY, CA 94710 

TELEPHONE: (415) 549-0858 

A COMPUTER IN EVERY POT 



YOU'LL SAY... 




VeCCCH G3APHC 



WHY OUR MEMORY SHOULD BE YOUR MEMORY 

1. Quality 2. Delivery 3. Price 

ALTAIR & IMSAI COMPATIBLE 8K STATIC 
RAM SPECIFICATIONS: 

Access Time: 450 ns - no wait states 
Current Requirement: + 5 to + 10V at 1 .6A worst 
case, 1.35A typical 
Memory Chips: Prime components plus two 

extras 
Address Lines: Fully buffered 
Memory Protect: Hardware 8K 
Power Regulators: 4 ea. 7805 

Address Select: Dip switch accessable from 
top of board. No need to 
remove board to relocate 
Output Disable: Permits use with transparent ,. 

loader , 

Board: Quality G-10 material with / 

solder mask both sides. <y\ / > 

P 're- tested for etch bridges. ' 

Order your 8K RAM kit for only $265.00 +6% Cal. 
sales tax +3% hndlg. $350assmbld., both incl. sockets. 



P.O. BOX 4784 

THOUSAND OAKS, CA 91359 

TEL:(213) 889-9809 



EOT G3APHC inc. 



103 



Calculator Keyboard Input 
for the Microcomputer 



Joseph Hoegerl 
RD 1 Box 262 
Guy Mills PA 16327 



There was a need for a 
simpler method to put 
programs into memory. 



Some months ago I purchased an RGS 
Electronics 008A Microcomputer Kit in 
order to learn about this computer thing. In 
the intervening months it has served a 
number of very useful functions. 

First, I learned about the basics of com- 
puters. In putting the kit together, I learned 
a great deal about the 8008 microprocessor 
and its associated circuits. By solving a 
problem in the operation of IO transfer, I 
got to understand a lot about the logic of 
my computer. (It turned out to be a 
malfunctioning 7442 chip which provided 
the IO gating pulses.) 

Second, I have become reasonably pro- 
ficient in programming, using the basic 
machine language of the 8008 in octal form. 
The instruction set of the 8008 is simple 
enough that one can remember the numbers 
in octal from about as easily as the 
mnemonics and it saves time when working 
with shorter programs. 

Third, it has provided me with a number 
of projects involving the computer itself or 
with the equipment tied into it. 

It did not take long for me to see that 
entering programs by way of the front panel 



switches was tedious and time consuming, 
especially since programs quickly become 
more complicated and longer as pro- 
gramming proficiency develops. There was a 
need for a simpler method to put the 
programs into the memory. The thought 
occurred to me that an inexpensive and 
simple solution might be to adapt a calcula- 
tor keyboard to enter data in octal form. 
The circuit described in this article is the 
result of thinking about this alternative. The' 
unit proved to be both trouble and error free 
in the five months since it was completed. I 
use the keyboard continually, even though I 
have since interfaced a Model 15 Teletype 
and a five level tape unit to the CPU which 
enables entering programs from tape. 

A bootstrap program for initial input 
after a power shutdown requires only 15 
bytes which must be entered by the original 
front panel switches (see listing 1). The main 
program requires only 62 bytes and these are 
entered using the bootstrap (see listing 2). 
The keyboard has provision for entering data 
either in octal or hexadecimal format. The 
unit may be built with the full capability, or 
parts can be omitted to dedicate the key- 



Listing I : Bootstrap Keyboard Input Program. This 8008 program reads the 
keyboard device of figure I and loads memory in ascending sequence. Its 
primary purpose is to enter the second full program of listing 2. 



Intelese 




Octal Address 


Octal Cod 


000/000 


006 070 


000/002 


161 


000/003 


056 XXX 


000/005 


066 XXX 


000/007 


300 


000/010 


250 


000/01 1 


141 


000/012 


101 


000/013 


370 


000/014 


060 


000/015 


121 


000/016 


000 



Label 



Op 



Operand 



Commentary 



LAI 


070 


define device address; 


OUT 




select device; 


LHI 


(H) 


load upper address byte here; 


LLI 


(L) 


load lower address byte here; 


LAA 




no op; 


XRA 




clear "A" to zero; 


OUT 




send control pulse out to interface; 


INP 




read a byte into accumulator; 


LMA 




load the byte into memory; 


INL 




increment the address pointer; 


OUT 




output a pulse to reset data ready flag 


HLT 




end of program, wait for restart. 



104 



board to octal or hexadecimal input 
exclusively. 

Circuit Description 

The circuit of the input device is given in 
figure 1. A diode matrix decodes the key- 
switch closures into binary formal. Data is 
entered in the normal sequence with the 
most significant digit first. The three 7475 
latches are activated sequentially (only two 
are used for the hexadecimal mode of input) 
and the binary equivalent of each digit is 
held in the 7475 latches until read by the 
computer and then cleared by a signal from 
the computer, or, in case of keypressing 
errors, by pressing the clear entry (CE) key 
on the keyboard. 

The choice of octal or hexadecimal is 
accomplished by the use of two 74157 
multiplexers, ICI1 and IC12. These are set 
to pick hexadecimal or octal encoding by 
S1. If only octal format is needed, the 
binary data can be taken directly from IC1, 
IC2 and IC3, at the points marked AO lo A7 



on figure I. If only hexadecimal format is 
desired, IC11, IC12, and IC3 may be 
omitted and the outputs taken from the 
remaining IC1 and IC2 at the points marked 
BO to B7 on the diagram. 

The circuit operates as follows: When a 
key is depressed, one or more of the five 
decode lines will go lo the high state. (Four 
lines are used for encoding the digits 'I' to 
'F'; and the fifth line is used to decode the 
zero key.) These are inverted by the five 
inverters, IC4A through IC4E, the outputs 
of which go low when a key is pressed. This 
causes the output of IC5, which functions as 
a nor gate, to go high. This transition is 
converted to a positive going pulse by the 
combination of IC4F, capacitor CI and 
resistor R6. The pulse is inverted and 
squared off by IC6D. The output pulse of 
IC6D is fed to the three gates ICIOA, B and 
C, one of which is enabled by the state of 
the 2 bit counter IC7A and IC7B. A "clear 
flag" signal from the CPU, or a clear entry 
(CE) key closure will reset the two flip flops 



Toggle switches are relics 
of the dark ages (of 
computing). 



Listing 2: Full Keyboard Input Program. This 8008 program defines a 
memory address with the first two bytes read from the keyboard after restart. 
Then it enters a loop which loads memory byte by byte in ascending address 
sequence. 



Intelese 


















Octal Address 


Octal Code 


Label 


Op 


Operand 


Commentary 




000/070 


006 


070 




START: 


LAI 


070 


load address of keyboard; 




000/072 


161 








OUT 




select device; 




000/073 


121 








OUT 




reset flag; 




000/074 


106 


116 


000 




CAL 


DATA 


A:=keyboard input; 




000/077 


350 








LHA 




loads upper address into H; 




000/100 


106 


116 


000 




CAL 


DATA 


A:=keyboard input; 




000/103 


360 








LDA 




loads lower address into L; 




000/104 


106 


116 


000 


MBYTE: 


CAL 


DATA 


A:=keyboard input; 




000/107 


370 








LMA 




put byte into memory; 




000/110 


106 


162 


000 




CAL 


INHL 


to increment H and L; 




000/113 


104 


104 


000 




JMP 


MBYTE 


repeat for each byte in turn; 




000/116 


006 


200 




DATA: 


LAI 


200 


set multiplexer to status; 




000/120 


141 








OUT 




status pulse; 




000/121 


016 


002 






LBI 


2 


set counter for debounce routine; 




000/123 


101 






FLOOP: 


INP 




input flag status; 




000/124 


044 


200 






NDI 


200B 


mask flag bit; 




000/126 


022 








RAL 




put flag bit into carry and check 
carry bit; 




000/127 


100 


123 


000 




JFC 


FLOOP 


if carry false, then check again. 




000/132 


011 








DCB 




if carry true then delay, then check again; 


000/133 


110 


143 


000 




JFZ 


DLY 


22 ms delay; 




000/136 


250 








XRA 




clear accumulator and carry; 




000/137 


141 








OUT 




set multiplexer to accept data; 




000/140 


101 








INP 




accept data into A; 




000/141 


121 








OUT 




send out reset pulse; 




000/142 


007 








RET 




end of FLOOP routine; 




000/143 


106 


151 


000 


DLY: 


CAL 


DELAY 


22 ms delay; 




000/146 


104 


123 


000 




JMP 


FLOOP 


try again; 




000/151 


036 


326 




DELAY: 


LDI 


326 


set counter to give 22 ms delay; 




000/153 


300 






TIME: 


LAA 




waste time; 




000/154 


300 








LAA 




waste more time; 




000/155 


031 








DCD 




decrement counter; 




000/156 


110 


153 


000 




JFZ 


TIME 


waste time until counter is zero; 




000/161 


007 








RET 




return to calling program; 




000/162 


060 






INHL: 


INL 




increment lower address; 




000/163 


013 








RFZ 




return if lower address not zero; 




000/164 


050 








INH 




increment upper address if lower 


was zero 


000/165 


007 








RET 




return to calling program; 





105 



OUTPUTS 
D7 D6 D5 D4 



'^wV 9 9 V 



► 5V 

^ 4.7K 
1 VA- 



OUTPUTS 
D3 D2 Dl DO 



POWER LEADS 

+ 5 GND 

7400 14 7 

7404 14 7 

7411 14 7 

7430 14 7 

7475 5 12 

74157 16 8 



+ 5V 
4.7K fy 4.7K 



CLEAR 

ENTRY 



ENTER 
DATA 



r CE 1' 11/' I ' 3 • f EN — , 

IvJn 




, 000. 

1 L K E 

— • * • • • • • •- 



PULSE 
GENERATOR 



Figure 1 .' Keyboard Input Logic. This circuit contains a diode matrix which encodes 16 hexadecimal input keys as a four bit 
code, a register to contain the results of that conversion, a multiplexer which gives a switch selected 3 digit octal or a 2 digit 
hexadecimal interpretation to the inputs, and control logic for keyboard debouncing, clearing, and entering data. 



to the start position. When this happens, 
gate IC10A will be enabled by a high level 
on two of the three inputs. The pulse from 
IC6D mentioned previously then satisfies the 
gate and its output will go high, momentar- 
ily causing IC1 to latch on the data present 
on the decode lines. 

When the key initially depressed is re- 
leased, the delay monostable made up of R7, 
R8, C2, IC6A, B, and C, causes a pulse 
which increments the counter formed by flip 
flops IC7A and B, thus setting up two lines 
of IC10B to a high level and ready to accept 
the next digit. Note that this does not 
happen until the key is released, thus avoid- 
ing erroneous writing of the same data into 
more than one latch. This process continues 
for the third digit with IC1 OC enabled. 

After the desired digits have been entered 



on the keyboard, the enter (EN) key is 
pressed. This sets the flag RS flip flop made 
up of IC8A and B. To prevent multiple data 
entry, its output must pass through the dual 
input gate IC9B, which will prevent data 
from passing through until the enter key has 
been released. At that time a high level will 
appear on the data ready flag output, 
signalling the CPU that data is ready for 
processing. The RS flip flop is reset by a 
negative going pulse on the clear flag input 
from the CPU. When this flag flip flop was 
initially set by the enter key, the 7474 flip 
flops IC7A and B are cleared to zero through 
OCand D. 

The Interface 

A standard RGS Electronics interface 
board was used with the addition of the 



106 



circuit shown in figure 2. This circuit is a 
multiplexer which allows one of the eight 
data bus lines to read either data or the data 
ready flag output. To simplify programming, 
D7 was chosen for the dual purpose line. 

The instruction "LAI 200" followed by a 
141 output control instruction will set the Q 
output of IC13A to a high level. This will set 
the multiplexer IC14 to accept data from 
the data ready flag on the D7 input, sig- 
nalling the CPU that data is available. The 
program then performs an XRA which clears 
D7 to zero, followed by a 141 output 
control instruction which sets the Q output 
of IC1 3A to a zero and the Q to a high level 
which switches the selector of IC14A, B and 
C to accept the D7 output of the 74157 
IC11. 

Construction Notes 

Little trouble was encountered in the 
construction of this unit. The circuit, with 
the exception of the keyboard and the 
interface, was all put on a single sided print- 
ed circuit board four by six inches. As I do 
in most of my construction projects, I used 
single sided board and wired across the 
board where I couldn't paint in the required 
wiring. I have found that this technique gives 
results with considerable saving in time when 
only one model is to be made. Ribbon wire 
was used between the circuit and the key- 
board. This allowed the keyboard lo be 
moved around to the most convenient loca- 
tion and out of the way when not in use. 
Power was taken from the power supply of 
the computer, which is capable of supplying 
three amperes. My present memory size is 
low enough to make a considerable excess 
power available for peripherals. The univer- 
sal interface board supplied by RGS Elec- 
tronics in kit form is a very flexible circuit 
which lends itself to many types of external 
equipment such as this unit. 

Programming 

A bootstrap program, 15 bytes in length, 
is found in listing 1 . It is placed into the first 
15 address locations on page zero to take 
advantage of the RST instructions to mini- 
mize program length. These bytes must be 
entered using the original switches on the 
front panel of the CPU. The purpose of the 
simple bootstrap program is to load a 
second, more sophisticated bootstrap 
program. 

The starting address of the program to be 
entered is placed in location 004 for the 
upper and 006 for the lower address. These 
two addresses are two of the 1 5 bytes which 
make up the program. Operation is as 
follows: 



FROM DATA i — «_ 
READY FLAG I > 



FROM 07 ON I — s^ 
74157 MUX I — '•*' 



to d7 output | — ^ 
of interface! — *■ 




TO A7 INPUT ON 
INTERFACE 



TO STATUS OUTPUT 



^ 1 TO STATUS OU 

1 OF INTERFACE 



Figure 2: RGS-008A Interface Logic. This diagram shows the logic used to 
control the interface to the author's RGS-008A computer. 



1. Set the front panel switches to 005B. 

2. Press the "clear entry" key on the 
keyboard. 

3. Enter the three octal numbers that 
represent the program byte. 

4. Press the enter (EN) key. 

5. Press Interrupt on the CPU front 
panel. 

6. After the first byte has been entered, 
set the front panel switches on the 
CPU to octal 015, then repeat steps 
3,4, and 5 above for each additional 
byte to be entered. 

You will note that this is not a continuously 
executing program but stops after each entry 
and is restarted for each byte using the RST 
and interrupt instruction. 

A More Sophisticated Bootstrap Program 

Listing 2 shows a program which requires 
only 62 bytes and is entered using the simple 
bootstrap program. In my case the program 
is located at page zero, octal location 070. It 
is a continuously executing program and 
after finishing program entry, the front 
panel switches are set to zero and an 
interrupt entered. It operates as follows: 

1. Set the front panel switches to 075 
and press interrupt switch. 

2. Clear the keyboard with the clear 
entry (CE) key. 

3. Enter the upper starting address and 
press the enter (EN) key. 

4. Enter the lower address and press the 
enter key. 

5. Enter the program bytes, sequentially, 
pressing the enter key for each byte. If 
more than one byte of the same 
program instruction is lo be put into 
memory, it is not necessary to rekey 
them. Merely press the enter key again 
for each additional byte. ■ 



107 



Clubs and 
Newsletters 




The RAMS of Rochester 

We recently received word from Dave 
Noderer, secretary of the Rochester NY 
Area Microcomputer Society, a relatively 
new organization, that meetings are sched- 
uled for the second Thursday of each month 
at the Rochester Institute of Technology, 
Building 6, Room 1030 at 7:30 PM. 

The primary objectives of RAMS are 
exchanging newsletters, establishing group 
purchasing power, and organizing regional 
computerfests and conferences. A monthly 
newsletter called Memory Pages is published 
and can be obtained by writing to RAMS, 
POB D, Rochester NY 14609. 

Omaha Hackers — Getting It Together 

Mid-America Computer Hobbyists 
announce the organization of an Omaha 
based club primarily to exchange informa- 
tion on construction and software develop- 
ment projects. Those interested in joining 
MACH should get in touch with Lt Tom 
Smith, 2708 Calhoun St, Bellevue NE 
68005. 

British Columbia Computer Society 

A group of computer hobbyists have 
banded together in British Columbia. For 
more information about what should be a 
promising new club contact Karl Brackhaus, 
203-1625 W 13 Av, Vancouver BC Canada 
V6J 269, (604) 738-9341. 

San Diego Computer Society — 
Personal Systems 

SDCS has apparently developed into a 
first rate organization at least by the looks 
of its newsletter, Persona/ Systems. Among 
the articles in the October issue (the latest 
we have unfortunately) is one by C S 
Pepper, "The MM5740AAE Encoder," a 
complete keyboard interface system capable 



of encoding 90 switch enclosures in a 
ASR 33 Teletype format as a 9 bit code, 
"The Micro-Tower" by Dr Lance Leventhal, 
the next few articles of which will deal with 
computer intersection sets, and an article on 
an "Extended Debugging Aid" by Richard S 
Mason. All major entries in this newsletter 
appear to be technically competent and 
thorough. So, if you want to learn more 
about computers write Personal Systems, 
San Diego Computer Society, POB 9988, 
San Diego CA 921 09. 

New England Computer Society 

NECS continues to publish a fine 
monthly newsletter, The COMPUTER/ST. 
Volume 1, Number 1, featured an article on 
the future of the home terminal: a feedback 
loop with the potential to plug personal 
experience in the form of coded brainwaves 
into any conceivable sequence or situation. 
According to author Joel Henkle of The 
Valley Institute, Hillsboro NH, this could 
become a form of "electronic LSD." So 
watch out; this could have some very inter- 
esting possibilities! 

Along with the fine articles which appear 
here monthly is a rundown on the happen- 
ings of six hobbyist groups in the region. 
This is a mighty handy journal for New 
England hackers. Subscription rate is $6 per 
year. Write POB 3, South Chelmsford MA 
01824, or call (617) 256-3649. 

Northwest Computer Club 

It looks like some noteworthy things are 
happening in the Seattle area through the 
Northwest Computer Club. An interesting 
newsletter has been assembled: a monthly 
presentation of computer lore and a fairly 
extensive classified section that might help a 
body save a buck or two. The October issue 
features an article called "8080 Programing 



108 



Tips and Tricks," some nifty ways to use the 
unique address calculation ability on this 
machine. There's also some information on 
the West Coast Computer Faire, April 15 to 
17, at the San Francisco Civic Auditorium. 
Contact the Northwest Computer Club at 
POB 5304, Seattle WA 981 05. 

Rock Island Hackers Unite! 

The Quad City Computer Club in Rock 
Island IL held its first meeting on October 
24. A group of thirty got together for a 
presentation. To contact what may be an up 
and coming club write: John E Greve, 
4211/ 2 7th Av, Rock Island I L 61201. 

KC Thru Put 

The Computer Network of Kansas City 
has been publishing a newsletter called KC 
Thru Put. If you'd like to get in touch with 
the folks in Kansas City, send a note to KC 
Thru Put, 968 Kansas Av, Kansas City KS 
66105. 

Central Florida - A New Club 

Christian S Bauer, assistant professor of 
engineering at Florida Technological Uni- 
versity in Orlando, announces the formation 
of a microcomputer club open to the com- 
munity as well as students. The plan is to 
undertake construction projects from BYTE 
and a number of Motorola 6800 designer's 
kits in order to build up a microcomputer 
center. Contact Dr Bauer at (305) 678-2413 
to find out more. 

PACE Users Group? 

"We are seeking to form a PACE users 
group for the purpose of exchanging 
software, describing systems implementa- 
tions, and communicating hardware hints 
and kinks on interfacing peripherals to the 
16 bit National Semiconductor microproces- 
sor. Although National Semiconductor has 
its own microprocessor users' society, this 
organization covers 1MP16 and SC/MP as 
well, and is also not primarily hobbyist 
oriented. Our intention is to serve as a 
clearing house for PACE based systems, both 
homebrew and commercial kit configura- 
tions (such as PACER), which will bring 
existing and potential users together to share 
ideas, know-how, and the pleasures and 
pains of getting a system up and running. Up 
the 16 bit microprocessor! 

"Please send your name, address, phone 
number and a brief note on your system and 
its application to me, Jock Millenson, at 64 
The Uplands, Berkeley CA 94705."" 



THE COMPUTER RQQM 

SMALL COMPUTER SYSTEMS • SOFTWARE • AMATEUR RADIO EQUIPMENT 

1455-ASo. 1100E. Salt Lake City, Utah 84105 Phone: 801-466-7911 

"WE TAKE THE 
WW OUT OF THE BIJCHD " 




One Of The Nations Largest 
Full-Service Computer Stores. 



Over 1600 Square Feet Of Sales 
And Service Facilities. 



WHEN YOU WRITE FOR OUR CATALOG AND ENCLOSE $1 TO 
HELP DEFRAY THE COST OF HANDLING AND MAILING, 
HERE'S WHAT YOU GET: 

1. A CERTIFICATE GOOD FOR $2 ON YOUR NEXT 
PURCHASE 

2. the COMPUTER RQQKI easy to understand 

CATALOG COVERING 

IMSAI 

THE DIGITAL GROUP 

POLYMORPHIC SYSTEMS 

SOUTHWEST TECHNICAL PRODUCTS CORPORATION 

TECHNICAL DESIGN LABS 

ETC. 

3. the COMPUTER RQQKI "easy guide- to help you 

PICK THE RIGHT SYSTEM, PERIPHERALS, COMPONENTS, 
AND SOFTWARE FOR 

THE BEGINNER 
THE ADVANCED 
THE EXPERT 
THE SMALL BUSINESS 

4. A CURRENT LISTING OF PRESENTLY AVAILABLE 



SOFTWARE 

PUBLICATIONS 

PERIPHERALS 

5. INFORMATION ON REPAIR SERVICE, LOW COST 
CUSTOM PROGRAMMING AND OTHER SPECIAL SERVICES. 



at the COMPUTER RQQKI your written questions 

ARE HAPPILY RECEIVED AND PROMPTLY ANSWERED 



WE ALSO STOCK A COMPLETE 
LINE OF AMATEUR RADIO EQUIPMENT 

BANKAMERICARD MASTERCHARGE 



109 



MICROCOMPUTERS^ * 3 RAM^JMPP 
• Z5" . r f T T T IT IT T T LULaL^ ' ' ' '■ nfcrTPr- 




San Francisco Bay Area— where it all started— finally gets its act together. 
7,000-10,000 PEOPLE ■ 100 CONFERENCE SESSIONS ■ 200 COMMERCIAL & HOMEBREW EXHIBITS 
2 BANQUETS ■ SPECIAL INTEREST SOCIAL CENTERS 
San Francisco Civic Auditorium, Northern California's Largest Convention Facility 

YOU CaiTBeXlPart Of It: 



■ Some of the things you can do are: 

Exhibit a Homebrewed System 

• Hardware or Software 

• Prizes for Best "Homecooking" 

(just like a country fair) 

• Nominal Grants-ln-Aid Will Help 
With Exhibit Transportation Costs 

(grants will be refereed) 
Present a Talk 

• A Formal Paper 

• An Informal Talk 
Serve on a Panel 

• As a Panel Member 

• As the Coordinator/Moderator 
Give Suggestions 

• Topics for Talks & Panels 

• Speakers & Panel Participants 

• Interesting Exhibits 

(homebrewed or commercial) 

• Special Activities 

■ Quick, write or call for more details! 
Jim Warren, Faire Chairperson 

Box 1579 

Palo Alto CA 94302 

(415) 851-7664 v 323-3111 



Some of the Conference Sections being planned: 

• Computer Graphics on Home Computers 

• Computer-Driven, & Computer-Assisted Music Systems 

• Speech Synthesis Using Home Computers 

• Computers & Amateur Radio 

• Microprogrammable Microprocessors for Hobbyists 

• Program & Data Input via Optical Scanning 

• Floppy Disc Systems for Personal Computers 

• Computer Games: Alphanumeric & Graphic 

• Computers & Systems for Very Small Businesses 

• Personal Computers for the Physically Handicapped 

• Personal Word-Processing Systems 

• Software Design: Modularity & Portability 

• Personal Computers for Education 

associated with a Univ. of California short-course 

• Several Sections Concerning Standards 

• Other Sections for Club Leaders, Editors, Organizers, etc. 

Co-Sponsors include amateur, professional, & educational groups: 

• The Two Largest, Amateur Computer Organizations 

Homebrew Computer Club 

Southern California Computer Society 

• Both Area Chapters of the Association for Computing Machinery 

San Francisco Peninsula Chapter 
Golden Gate Chapter 

• Stanford University's Electrical Engineering Department 

• Community Computer Center 

• People's Computer Company 



V gtgM^il 15-17, xorrv 



©1976 by Computer Faire 



What's 




A New Case of Independent Suppliers 

For some time now, the small com- 
puter world has been treating the Altair 
bus of MITS as the de facto bus to 
interface if you're about to make an 
independent peripheral or processor. 
Well, sales of the Southwest Technical 
Products Corporation 6800 system have 
apparently gotten to the level where at 
least one company feels there are enough 
of them about to supply an independent 
peripheral product. This product, the 
first we've seen for a 6800 by South- 
west, is the M-16 16 K memory board by 
Smoke Signal Broadcasting. It uses the 
new AMD 9141 ADC static memory 
chips and costs $595 and delivery is 
quoted as from stock. With the 
SWTPC 6800 it is now possible to 
expand to 32 K without any modifica- 
tions of the circuitry by simply plugging 
in two of these boards, and you can go 
all the way to 48 K with some rewiring 
of the SWTPC 6800 processor to avoid 
conflicts between MIKBUG and ad- 
dresses 8000 to BFFF hexadecimal. This 
product is the first of several the com- 
pany has designed and plans to produce 
which will plug into the SWTPC com- 
puter. The size of this board is the same 
as the SWTPC 6800 processor board (5.5 
by 9 inches; (14 cm by 23 cm) and the 
9141 chips utilized are fast enough to 
run the 6800 at its full rated speed. 

Contact Smoke Signal Broadcasting 
at POB 2017, Hollywood CA 90028. ■ 



^^^^ jjllj«b jjiiy^ MHHHE iiu^U£7&Aum^ ^u^m 

'; m,mlhw$m 






The Tarbell Cassette Interface 

• Plugs directly into your IMS AI or ALTAIR 

• Fastest transfer rate: 1 87 (standard) 
to 540 bytes/second 

• Extremely Reliable — Phase encoded 
(self-clocking) 

• 4 Extra Status Lines, 4 Extra Control Lines 

• 25-page manual included 

• Device Code Selectable by DIP-switch 

• Capable of Generating BYTE/LANCASTER 
tapes also. 

• No modification required on audio cassette 
recorder 

• Complete kit $120, Assembled $175, 
Manual $4 

TARBELL ELECTRONICS 

144 Miraleste Drive #106, Miraleste, Calif. 90732 

(213)538-4251 
California residents please add 6% sales tax 



MULLEN COMPUTER B OARDS 



BOX 6214 • HAYWARD, CA. 94545 



N 
D 

E 




AL1AIR/IMIAI C 

NEW FOR TROUBLESHOOTING O 
AND DEVELOPMENT: A SUPER ftf 
EXTENDER BOARD FOR THE 'If 
S-lOO BUSS. V 

• Built in, 3 LED TTL logic probe A. 

• Jumper links in power lines for easy 

B current measurement and fusing _ 

• Edge connector label identifies all pins 



<£ 



■CAVf) 



Edge connector label identifies all pins 
Outstanding instructions fri 

Full width card; gold connector teeth 

~AT YOUR LOCAL COMPUTER ■" 

_^ •stores, or order by mail. E 

n D Ml: «?§ 



111 



Beck Reviews 



So You Want a Beginner's Introduction? 
Try This Book as a Starter . . . 



How to BuyS Use 

rMJMPlJTERS 6 
MJCROraPUTERS 

(I, Wllll.imH.iiiit'l. -"■ 




How to Buy and Use Minicomputers and 
Microcomputers, by William Barden Jr, 
Howard W Sams and Co Inc, Indianapolis, 
1976, 240 pages, 8/2x11, paperback, $9.95. 

William Barden Jr has written an inte- 
resting new book entitled How to Buy and 
Use Minicomputers and Microcomputers. 
The book is designed with the new user or 
potential user in mind, as is reflected by the 
following excerpt from its preface: 

It doesn't take a mathematical or 
electronics genius to learn how to use and 
program one of these computers. Starting 
with a basic system, a beginner can learn 
by writing two- or three-step programs 
and rapidly work up to larger and more 
complicated functions. The beginner may 
then add to his basic system as his hobby 
(and pocketbook) grows. A minimum 
system is now in the $200 range. 

The purpose here is to instruct the 
interested person in what computers are, 
how they perform their computing, and 
what tools are necessary to talk to all 
computers, especially the newer minicom- 
puters and microcomputers. A detailed 
description of four low-priced minicom- 
puters and many lower-priced microcom- 
puters is included. Many examples of 
"real-world" connections to computers 
are given, as are short programs illustrat- 
ing the programming of the computers 
both in the more rudimentary machine 
language and the BASIC language. Bench- 
mark programs for every minicomputer 



or microcomputer discussed are provided 
for comparisons of one computer with 
another. 

Further, the book reflects an important 
point, which we can only emphasize over 
and over again: microcomputers, per se, are 
merely extensions of the concept of a 
minicomputer to a lower price range. As 
such, the book is about inexpensive general 
purpose computer systems, rather than ex- 
clusively concentrating upon the microcom- 
puter as a currently fashionable and practical 
way of implementing the processors for such 
systems. 

You'll find a chapter on the basics of 
computers, a chapter on the hardware of 
processors, a chapter on software, an excel- 
lent and comprehensive chapter on periph- 
eral devices from the standard to the non- 
standard, a chapter on how to select a 
system, a chapter on programming and 
applying a sy-stem, and two chapters pro- 
filing general purpose systems based on 
microcomputers and minicomputers. The 
book is finished with a set of 10 appendices 
and an index. We highly recommend this 
book as a background source of information 
for the new computer user who wants to 
get oriented in the field as quickly as 
possible. . . CH" 



Electronic Projects for Musicians, by Craig 
Anderton, Guitar Player Productions, 
Saratoga CA, 1975, $6.95. 

If brevity is the soul of wit, clarity and 
conciseness are the life's blood of a good 
technical handbook — especially when a 
neophyte's comprehension is at stake. That's 
what makes this text so satisfying. The 
beginner's understanding is not short-cir- 
cuited by seemingly groundless technical 
lingo. Rather, the reader is led by a friendly 
hand through the wirey labyrinth of inte- 
grated circuits, resistors and capacitors. 
Within fifty pages, even a novice is well on 
the way to building his or her own preamps, 
metronomes, sound mixers, tone controls or 
any of fifteen other musical projects. 

With Anderton's light readable style and 
Vesta Copestake's clear illustrations and 
schematics, Chapter one's introduction to 
electronics is quick and relatively painless. 
The musician may not learn everything, but 
he or she will pick up enough theory to take 
off the gloves and just about get to work. 

But first, he or she will need parts and 
tools. The next chapter dissects the electron- 
ics marketplace — from small retail outlets 
to large industrial vendors. The author shows 
how to obtain quality parts at reasonable 



112 



WHO NEEDS IT? 

If you run a lot of programs and need 
flexible yet inexpensive storage, you 
need a cassette recorder interface. 

Why choose DAJEN? 

CRI uses biphase format for high 
speed and densitv. DIP switch selec- 
tion of baud rate from 800 to over 
6000 baud. Digital comparator, no 
adjustment. Level and sync indicator. 
Operate from systems clock for sta- 
bility. Fully Altair, IMSAI, Tarbell 
compatible. Bus driver. Single voltage 
power supply. All IC sockets pro- 
vided. Prerecorded cassette tapes. 

Complete 16 page manual $2.50. 

Refundable with order 

Kit $120.00 

Assembled, tested $160.00 

COD $1.50 extra 

DAJEN Electronics 

7214Springleaf Ct. 
Citrus Heights CA 95610 
(916) 723-1050 



8,192 X 8 BIT STATIC MEMORY 

EXCEPTIONALLY LOW POWER 




KIT $295.00 

PROTOTYPING BOARD 

Z-80 - CPU 

16K RAM 

EXTENDER CARD 

2K RAM/ 2K ROM 

CARD RACK AND POWER SUPPLY 

LOW PROFI LE IC SOCKETS 

EDGE CONNECTORS 

DB25 CONNECTORS 



SHIPPING EXTRA. ADD S2.00 
NJ RES. ADD 5% SALES TAX 

ELECTRONIC CONTROL TECHNOLOGY 

P.O. Box 6, Union, New Jersey 07083 



<L 



t 



ompuler re far, 
V \ew UJork 

LONG ISLAND 

Computer leasing available. 

IMSAI, SWTPCo, Digital Group 

Processor Tech, Apple, OSI 

TDL-Z-80, Seals, Cromemco, 

Veras, Tarbell, Oliver 

Magazines, books, chips, 
sockets, connectors, terminals. 

IT'S ALL HERE WAITING FOR YOU 
FRIENDLY ADVICE TOO 

New York City 
314 5th Ave. 
(32nd St) 
New York 10001 
212-279-1048 



Long Island 
2072 Front St 
East Meadow NY 
516-794-0510 



U. S. ROBOTICS 

Makers of fine robots since 1982. announce the 
next best thing in 1977 
the 

AUTO - ANSWER 
MODEM 

' originate/answer switch means your micro can 
answer calls from other computers or 
terminals. 
Build your own timesharing service. 

(make your hobby pay) 
Start a software exchange. 
Enjoy a new dimension in games: man/ 
machine teams in battle! 

• fully assembled and tested. 

• 103 type, runs 0-600 baud. 

• interface with RS232, 20ma and TTL. 
' digital modem, crystal controlled. 

" 90-day full warranty. 

■ optional S25/yr maintenance contract. 

' 10-day modem-back-money-back guarantee. 

Send $105 (shipping, handling and 
Illinois sales tax included) to 

U. S. ROBOTICS 

Box 5502 
Chicago, IL 60680 
MOD Phone:312-528-9045 




Pictured above is the new OP-80A 
High Speed Paper Tape Reader from 
OAE. This unit has no moving parts, 
will read punched tape as fast as you 
can pull it through (0-5,000 c.p.s.), 
and costs only $74.50 KIT, $95.00 
ASSEMBLED & TESTED. It In- 
cludes a precision optical sensor ar- 
ray, high speed data buffers, and all 
required handshake logic to interface 
with any uP parallel I/O port. 

To order, send check or money order 
(include $2.50 shipping/handling) to 
Oliver Audio Engineering, 7330 
Laurel Canyon Blvd.. No. Holly- 
wood, CA 91605, or call our 24 hr. 
M/C-B/A order line: (213) 874-6463. 



GRAPHICS 




1 Simultaneous display 
of text and graphics 

* 64 programmable 
GRAPHICS characters 

* Upper case ASCI I 
ROM 

* Character selective 
inverse video 

•All needed RAM 
included 



This high resolution low cost 
graphics/text display has been made 
possible through the use of 64 
totally user-programmable graphics 
characters. These contiguous 8x12 
"building-blocks" are accessed just 
like any text character and dis- 
played on the same 64 character x 
16 line screen grid. 

This complete single board kit 
plugs directly into the S-100 bus 
(Altair/IMSAI) and is yours for 
only $199. 

Ask for THE DETAILER. 

MicroGRAPHICS 

P.O. Box 2189, Station A 

Champaign IL 61820 



Terms : 



Prepaid. Illinois residents 
add 5% sales tax. 




19 !^ lsl 



Even ii you know nothing abOl 
electronics, you can builti pr> 
amps, riuji tnodul.xtors, mixer 
tone controls, mtnu\mps, Vuzze 
And a dozen other inexpensh 

musical projects, Includes .\ si; 

""""' '"""-"•■"j"" "•'■■"' _ J 



IP 




prices. Included is a log of mail order 
suppliers, a representative price list of retail 
and wholesale components, and some 
warnings on detecting bad deals. 

The author also assembles a decent set of 
tools for about sixty dollars, which should 
pay for itself within a few projects. Included 
are pointers on the care and feeding of tools 
as well as some safety tips: "Don't solder 
with shorts on if you're sitting down. Some- 
times the rosin spits out and hits you on the 
leg." 

Once the tools, parts, and basic theory 



are together, the next step is construction — 
perfboard assemblage, soldering, drilling 
templates and the like. With the clear 
instructions for basic workmanship digested, 
even the greenest are now ready to disappear 
into the basement for some hands-on 
experience. 

Each of the projects uses one integrated 
circuit, runs on common battery voltages, 
and requires about the same level of tech- 
nical competence. For each gadget, the 
author explains just what it does (a record 
comes with the book to show how each 
sounds), as well as how to build, substitute, 
or modify. Included for every project are 
schematics, parts lists, component layout 
diagrams, and a one-to-one scale positive of 
the board foil pattern. 

The appendix gives approximate material 
costs for the projects (at December 1975 
prices). The most expensive project, an 
eight-in-one-out mixer, is listed at $20 to 
$40. The rest range from under $5 to about 
$25. Not bad when you consider the manu- 
factured costs; and, with Anderton's help, 
not all that difficult to build either. Even if 
you haven't the faintest interest in electronic 
music projects, the practical pointers on 
identification of parts and construction of 
electronics projects make this book an essen- 
tial starting point for us novices. 

Jim Travisano 

Box 4 

Marlboro VT 05344 ■ 



The Compleat Computer by Dennie Van 
Tassel, Science Research Associates, Chica- 
go, 216 pages, softbound, $5.95. 

RIDDLE: What do a medical center, the 
Senate Watergate Committee's investigative 
team and a Tibetan monastery have in 
common? ANSWER: a computer. Surprised? 
Thanks to Dennie Van Tassel's The Com- 
pleat Computer, such information about the 
increasing use of computers has lost much of 
its stiff scientific "byte" and been replaced 
with beneficial information that anyone can 
understand. 

The Compleat Computer (1976), a care- 
fully compiled collection of over 100 in- 
formative and often humorous articles by 
noncomputer specialists, seems to be the 
best publication so far to help expose people 
to the many diverse opinions about the 
computer. Author Van Tassel, user liaison in 
the computer center at UCSC and collector 
of computer miscellany, has filled his paper- 
back book with a wide variety of selections 



from fiction, poetry, newspapers, cartoons 
and advertising as well as articles that con- 
cern the computer specialist. Such well- 
known noncomputer experts as Norman 
Cousins, Ray Bradbury and Issac Asimov are 
just a few of the writers whose articles 
appear in the book. 

Some of the different areas covered in- 
clude the story of a fully computerized 
poison control center in a children's hospital 
in Missouri, a computer which acted as a key 
"member" of the Senate Watergate investi- 
gative team by spewing out minute facts 
about any witness in a fraction of a second 
and a fictional account of how a Tibetan 
monastery might use a computer to compile 
a list of all the possible names of god. 

In order to include as much material as 
possible, Van Tassel capsulized the longer 
articles and selected only the "tastiest tid- 
bits" for publication. His extensive refer- 
ences following each article are helpful to 
the interested reader who wishes to pursue a 
topic in greater depth. After each well- 



114 



organized section of the book, a long list of 
questions and exercises is included to further 
aid the reader in exploring other various 
opinions about the use of computers. 

The book is divided into nine sections 
starting with three introductory chapters 
which discuss the basics of computers. 
Articles appearing in this first section in- 
clude "The Development of Automatic 
Computing," "Computer Games People 
Play" and "Technology, McDonald's Collide 
as Students Best Burger Bonanza," a humor- 
ous article describing how Cal Tech students 
used an IBM computer to print out 1.2 
million entry blanks and win a McDonald's 
contest. 

The seond portion of the book brings the 
reader up to date with chapters on "The 
Present and Potential," "Applications" and 
"Governmental Uses" of computers. In 
"Justice, the Constitution and Privacy," Sam 
Ervin Jr, Senator from North Carolina, raises 
some interesting questions concerning the 
computer's role in government surveillance 
and the individual's right to privacy. On a 
more humorous side, 'Art Buchwald's "The 
Curse" warns of the horrible consequences a 
computer metes out when a defiant citizen 
dares to fold, bend and mutilate his phone 
bill and send it (with payment) back to the 
company. 

The book's final three chapters, "The 
Impact of Computers," "Controls or Maybe 
Lack of Controls" and "Your Future," 
explore the many significant effects the 
computer has upon our everyday lives and 
the potential it plays in our country's future. 
Articles in this section include "Computer- 
ized Dating or Matchmaking," "Computer 
Crime" and "Machines Hold Powers for 
Good and Evil." 

Interspersed among the many informative 
articles are imaginative poems, computer 
generated illustrations and cartoons. 
Throughout the book the famous comic 
strip character Doonesbury and his friend 
Mark marvel at the many wonders of the 
computer. A newspaper ad for computer 
operators convinces them that they have 
found their true vocation in life. "Earn 
$7,000 . . . impress your friends . . . MEET 
GIRLS!" 

In addition to all that humor, intrigue 
and important information to both the 
computer and noncomputer specialist, The 
Compleat Computer also offers a fictional 
romance about a computer named Max who 
almost breaks up a marriage. For $5.95 a 




Behind every successful computer 
there stands a human being. 



copy, who could ask for more? Van Tassel 
has also written Program Style, Design, 
Efficiency Debugging and Testing (Prentice- 
Hall Inc). 

Linda Blocki 

1706 Silver SE, Apt 27 

Albuquerque NM 87106 ■ 



ALTAI R 8800 
OWNERS 



* Does your Altair crash when the lights dim? 

* Is your Altair power supply inadequate for all the memory 
and I/O that you'd like to run? 

Then you need the unique Parasitic Engineering Constant- 
Voltage Power Supply Kit. A custom engineered power 
supply that installs easily in your Altair 8800 or 8800a 
mainframe. It has performance no other Altair power 
supply can match. 

* Full 12 amp output with line voltage as low as 90 volts 
or as high as 140 volts. 

* Isolation from power line fluctuations and noise. 

* Protected against overloads. 

Don't let power supply problems sabotage your Altair. 
Order your kif TODAY. 



only $90 



postpaid in the USA. 



Ca residents add $5.40 sales tax. 



PARASITIC ENGINEERING 



PO BOX 6314 



ALBANY CA 94706 



115 



REFERENCES 

James F Butterfield, inven- 
tor of a subjective color 
translator, assesses the effects 
in his article in: 

Journal of the Society of 
Motion Picture and Television 
Engineers, Volume 17, page 
1025, 1968. 

Other articles have appear- 
ed in: 

Broadcasting, April 11 1967. 
Wall Street Journal, July 24 
1967. 

Electronic Design, September 
13 1967, page 38. 
Popular Electronics, October 
1968. 



Continued from page 48 



your particular interface carefully. What is 
even worse is that this procedure will prob- 
ably destroy blanking during vertical and 
horizontal retrace. The easiest way out of 
the blanking problem is to gate the output 
of the added inverter with the various 
counters provided on the interface in such a 
way as to provide a black on white image 
only in the character field of the display. 
This will leave ugly black borders on the 
screen, but they are preferable to a lack of 
blanking. 

The next problem involves generating 
subjective color timing pulses such as those 
shown in figure 3. This turns out to be a 
very easy problem to solve. A 60 Hertz 
nonsymmetric clock is certainly available at 
the interface since it is needed to gener- 
ate the vertical sync pulse for the television. 
A 7492 TTL IC configured as a divide by 
twelve counter and a two input NOR gate 
are all that is required to generate the color 
liming pulses in figure 3 from the 60 Hertz 
clock. We want the first flip flop, the A 



stage, in the counter to trigger every time a 
vertical sync pulse goes out, but we do not 
care whether it triggers just before or just 
after the sync pulse. Thus, the fact that the 
counter is triggered by a falling edge is likely 
to be just interesting trivia. 

Another problem is providing for the 
storage and readout of the color informa- 
tion. The simplest and most versatile 
approach is to provide separate color infor- 
mation for each character. If we provide for 
four character colors: black, red, green and 
blue, we need to provide two extra bits of 
storage at each character address. If you 
have a video interface such as TVT II which 
only implements a 64 character subset of 
ASCII, both color and character information 
can be stored in a single 8 bit byte. Since 
virtually all of the small computers for 
personal use are byte oriented, this configu- 
ration is particularly appealing. You may 
wish to use it even if your video interface is 
capable of generating the full ASCII charac- 
ter set. 

A suggested but arbitrarily chosen code 
for the two color select bits is also provided 
in figure 3 along with explanations for 



CCKO 



CS20 




ECD 



REQUIRED ACTION 



DO NOT DISPLAY THE CHARACTER; 
DO NOT DISPLAY THE CHARACTER; 
DO NOT DISPLAY THE CHARACTER; 



INSTEAD DISPLAY BLACK 
INSTEAD DISPLAY BLACK 
INSTEAD DISPLAY WHITE 



DISPLAY THE CHARACTER AS BLACK DOTS ON A WHITE SURROUND 



Figure 4: The heart of a subjective color generator. CCK is the input from the 60 Hz 
nonsymmetric clock, CS7 and CS2 are the color select bits read in from memory. The two 
outputs, BW for black and white, and ECD for enable character display, are used to gate the 
output of the character generator to provide the table. 



116 



various abbreviations. The color select bits 
can be decoded with a 74155 TTL demulti- 
plexer, but random logic is less expensive. 
The color select bits are to be read into and 
out of memory at the same time as the 
character bits so the same address lines and 
timing can be used for both. 

Figure 4 is a logic diagram of the heart of 
a black and white to subjective color con- 
verter. Its inputs are the previously men- 
tioned 60 Hertz nonsymmetric clock and the 
two color select bits which are read from 
memory. Its outputs are two signals which 
are to be used to gate the output of the 
character generator's shift register in such a 
way as to provide the results listed in the 
table in figure 4. Please note that figure 4 is 
drawn for pedagogic value rather than for 
package minimization. 

Some Final Notes 

In adding subjective color to your current 
video interface you will certainly want to 
include an override switch since you will 
likely find the black on white display and 
the subjective color flicker to be somewhat 
distracting in noncolor applications. 

For best results the video display on 
which subjective color is implemented 
should be placed where there is moderate 
ambient light, preferably from incandescent 
lamps. Since the phosphors on most black 
and white television sets produce a white of 
high color temperature, you will find that 
an overall filtration of the CRT face with a 
large acetate warming filter is useful in 
producing the best reds. 

You can produce subjective colors on a 
color set, but the technique works best on a 
black and white set. This is due to the black 
and white set's superior contrast and 
resolution. 

The best time to think about implement- 
ing subjective color is before the design of a 
video interface. Perhaps this article will be 
the catalyst for some new products. 

Will subjective color knock Cromemco and 
Intelligent Systems on their respective ears? 
Hardly. Its advantages are obvious but its 
performance is modest. Subjective color 
should be viewed as an interesting and useful 
method of displaying occasional color infor- 
mation on a black and white video 
terminal." 

How Well Will It Work? 

This is an idea article. The details of 
implementing it in any particular system 
must be worked out by the experimenter. 
We 'd like to see some feedback from readers 
who actually implement this experiment . . . 
CH 




DIGITAL SYSTEMS 



COMPLETELY 



FLOPPY DISK ASSEMBLED UNIT 

SYSTEM ^ 1 595.00 

(Price guaranteed till 3/1/77) 

Includes: single drive, cabinet, power supply, controller, 
interface and all cables - completely assembled and tested. 

Features Shugart Associates drives and DIGITAL SYSTEMS 
FDC-1 controller. Disk formatting is IBM compatible. Comes 
with single board interface to the Altair/IMSAI bus. The 
controller uses a simple DMA interface that allows concurrent 
processor execution, uses hardware bootstrap without processor 
intervention. 

The powerful CP/M Disk Operating System, written by the 
originator of Intel's PL/M compiler, is available for only $70.00. 
CP/M was developed on our hardware. Systems have been 
operating in the field for over two years. 

Add $575.00 for the dual drive system. 

DIGITAL SYSTEMS 

1154 DunsmuirPI 

Livermore, Ca. 94550 (415) 443-4078 



CONGRATULATIONS 

WE DID IT! THE 6800 IS COMPLETE 

SWTPC 6800 PLUG COMPATIBLE PRODUCTS - 
COMPLETELY ASSEMBLED 

M-16 A 16K single power supply STATIC RAM memory system. The 
M-16 is fully buffered and requires only half the power of a similar 
size system using low power 2102's. With the M-16, you can ex- 
pand your system to 48K and still have room left over. Price $595. 

P-38 An 8K EPROM board containing room for 8 2708's. Alternately, 
you may use It to hold up to 7 2708's plus your Motorola MIK- 
BUG, MINIBUG II or MINIBUG III ROM. Using it in this mode at 
EOOO through FFFF you have direct access to the restart and in- 
terrupt vectors which are then switch selectable between MIK- 
BUG and your EPROM but still under MIKBUG control. The P-38 
addressing is switch selectable to any 8K location. Together the 
P-38 and M-16 allow various combinations of RAM plus EPROM 
up to 56K. Price $179. 

P-38I Contains all the features of the P-38 plus interface capability to 
the Oliver Paper Tape Reader and our EPROM programmer which 
will be announced shortly. Price $229. 

P-38FF Contains all the features of the P-38I plus a plug-in interface to 
the ICOM Frugal Floppy. Includes one 2708 with the ICOM boot- 
strap software. Price $299. 

PS-1 Power Supply Kit. Provides plus and minus 16 volts required for 
up to 5 P-38 series systems. May be wired to provide a one volt 
increase in the plus 8 volt supply. Recommended for any system 
where the 8 volt supply falls below 7.7 volts under normal load. 
Price $24.95. 

BFD-68 Basic Floppy Disc System. Complete with controller, cabinet, 
power supply and one mini-floppy drive. Cabinet, power supply 
and controller will accommodate up to 3 drives. Includes our nifty 
Disc File Management software. Assembled and ready to plug 
Into your SWTPC 6800. Price $795. Additional drive and interface 
cabling $429. 

ALL OUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEM- 
BLED. AVAILABLE AT MOST SWTPC DEALERS OR FROM US BY MAIL. 
BANKAMERICARD AND MASTERCHARGE WELCOME. 

SMOKE SIGNAL BROADCASTING 

P.O. Box 2017, Hollywood, CA. 90028 



117 



SLAM: A Software New Product 
for Professionals 




A company called PennMicro, POB 5073, 
Lancaster PA 17604, has announced the 
availability of SLAM, a compact improved 
operating system designed to operate on 
Intel's Intellec 8/MOD 80 and MDS Micro- 
computer Systems. According to PennMicro, 
SLAM makes these microcomputers far 
more powerful and easier to program by 
providing a text editor and high level lan- 
guage interpreter in a package occupying less 
than 3200 bytes of memory. The aim of the 
package is to give the user a facility to create 
a program using the text editor, then run it 
immediately using only the microcomputer 
and a Teletype. This eliminates paper tape 
operations completely without the cost of a 
diskette. Since SLAM uses a high level 
language similar to BASIC, programming is 
faster and easier than assembly language 
usually used with microcomputers. SLAM 
(Symbolic Language Adapted for Microcom- 
puters) sounds a bit like Tiny BASIC: It uses 
16 bit signed numbers for convenience, has 
IO and bit masking operations, has a variety 
of conditional and subroutine commands, 
and is totally symbolic in nature . . . the user 
need not assign registers or memory ad- 
dresses. An optional SLAM feature permits 
program development while the microcom- 
puter is operating other real time systems. 

SLAM is loaded and entered using the 
Intel System Monitor. It is supplied on paper 
tape, ready to load without modification. A 




complete instruction manual is supplied. 
SLAM is available directly from PennMicro 
for $99; delivery is quoted as stock to two 
weeks. Customers should specify whether 
Intellec or MDS version is desired and 
whether provision for interrupts is desired. 
For users of these Intel Systems, SLAM 
sounds like an excellent way to get instant 
high level language capability." 



Attention Music Lovers 

Chateau Engineering Co, POB 11, Arling- 
ton VA 22210, manufactures a system called 
SCORTOS, which is a completely automated 
music score editing and performance system 
built from an Altair 8800, an ADM-1 1 1 Video 
Display Terminal, a cassette or floppy disk 
mass storage device, and their special hard- 
ware product, the "Keyboard Interface Con- 
troller." This system is designed to interface 
mechanically with existing keyboard in- 
struments, so that scores edited in the 
computer can be played in real time. As 
commented in the brochure, "The computer 
converts musical symbols to musical events 
much the same as does a musician; in fact 



the SCORTOS system can be thought of as 
an organist with sixteen hands since it is 
capable of performing sixteen separate parts 
simultaneously." The key item, the 
Keyboard Interface Controller, operates by 
switching mechanical relays and is com- 
pletely electrically isolated from the instru- 
ment it is controlling. This facilitates the 
connection of instruments to SCORTOS, 
since electrical characteristics ranging from 
none (as in a piano) to extensive (as in 
electronic organ or Moog synthesizer) need 
not be a consideration. Each KIC controls 
two octaves of keyboard, or 24 keys, but the 
system can handle up to 1 1 KIC units. The 
response time of the mechanical relays is 10 
ms, and up to 255 keys can be controlled 
with up to 22 KIC units. In a one drive 
floppy system, 80,000 musical events can be 
stored on line for up to 16 channels. The 
software described in the brochure is a music 
description language edited with a specially 
configured ASCII keyboard. 

The price? A cassette based system with 
one KIC output unit starts at $8000. A 
floppy disk based system can be purchased 
with one KIC output unit starting at 
$10,000." 




Here is a Neat Little 
8 K 6800 System 

Electronic Product Associates Inc, 1157 
Vega St, San Diego CA 92110, 
(714) 276-8911, has announced a complete, 
self contained 6800 system for $1 186 called 
the Expanded-68. Designed primarily for 
system prototype development use, the 
Expanded-68 comes complete with 8 K of 
memory, power supply, 16 digit keyboard, 
hexadecimal LED display, expansion cab- 
inet, 36 pin edge connector, and MIKBUG as 
an operating system. Also available for direct 
interfacing are: dual floppy disk drive, 
IMP-1 printer, 132 column printer, TV inter- 
face, and full ASCII keyboard. However, 
even if you're not a systems engineer design- 
ing new products, you may find this 6800 in 
its attractive desk top package will prove to 
be an interesting personal computer option." 



Software New Product 

Are there bunches of PDP-8 users 
buried in the woodwork? Of course 
there are, since Digital Equipment Corp's 
PDP-8 started the growth of the small 
computer field, and is probably the 
widest selling minicomputer prior to the 
microcomputer revolution. There is even 
the IM6100 copy of the PDP-8 which is 
a CMOS microcomputer which repre- 
sents a dedicated applications route to a 
PDP-8-like system. 

Recognizing this presence of the 
PDP-8 (which is still a very widely sold 
product in DEC'S stable), a firm called 
EDUCOMP, located at 196 Trumbull St, 
Hartford CT 06103, has been active in 
the independent software market for 
PDP-8 compatible products, with the 
star attraction being a PDP-8 operating 



118 



system called ETOS. This software has 
just been cycled through to version 4B, 
which was described in a recent press 
release. ETOS version 4B provides time- 
sharing, real time tasks, and batch proc- 
essing simultaneously. Real time pro- 
grams supported under this release 
typically include device handlers for 
time dependent tasks such as process 
control and data acquisition. With ETOS 
4B real time tasks can be serviced while 
background users continue to operate 
undisturbed under timesharing. 

The operating system includes a lot 
of useful "big computer" OS features 
not normally associated with minicom- 
puters. For those readers with PDP-8 
computers, multiple disk drives, multiple 
terminals and professional level require- 
ments, this $4,900 operating system 
package may well be worth your invest- 
ment. For further details, contact 
EDUCOMP Corp.* 



BYTE's Bugs 



APL COMMENTARY 

I was extremely pleased to see an 
article on APL in your magazine. There 
were a few errors, however, possibly 
because of the stated difficulty of 
achieving "Selectric" quality printing 
fonts. 

Of particular interest was the 
author's inconsistent use of the non-APL 
symbol "£."No such symbol exists to 
my knowledge. He uses it for two 
operations: execute (<£) and membership 
(6). 

A minor typo: in APL, 2X3+4X5 
is 46io. not 56?. 

Although explained well, the negative 
sign ( — ) was incorrectly used in the 
explanation of take and drop (t, 4.). The 
correct symbols are ~" NtA and — N1A. 
The subtract sign (— ) was used errone- 
ously (negation). 

If J were a scalar, X/J would not 
yield the same result as !J. What was 
probably omitted was an iota; ie: X/tJ . 

The T-bar symbol is new to me. It is 
not used in the 3.0 release of the IBM 
program product nor in the APL plus 
system nor Honeywell's file management 
version. I suspect format (^f>) was meant. 

Despite my nit-picking, my utmost 
encouragement to Mr Arnold in de- 
veloping an APL interpreter. 



Carmen J D'Agostino* 



Where Is It? 



John G Madry Jr, MD, Melbourne FL 
32901 , calls our attention to our omission of 
the address for Executive Devices, which 
makes the pocket data terminals described 
on page 99, November 1976 BYTE. The 
firm is located at 740 S Logan, Fresno CA 
93727; phone (209) 255-6977." 



1702A MANUAL EPR0M PROGRAMMER 



Features hex keypad, two 
digit hex address and two 
digit hex data display. Con- 
trols include load, clear, go! 
(step), key/copy, data in/ 
data out, and counter up/ 
down. Profile card includes 
high voltage pulse regulator, 
timing, 8 bit address and 8 




•III II 



bit data drivers/receivers. Two 6V2" x 9" stacked cards with 
spacers. Allows programming in 20 minutes — copying in 
5 minutes. Requires +5, —9, and +80 volts. 

ASSEMBLED S299.95 

KIT $189.95 

NOW 

The best of two worlds . . . use our 1702 EPROM programmer 
as a manual data/address entry programmer ... or connect it 
to your processor. 
IMSAI/ALTAI R computer interface (requires 3 output ports, 

+1 input port) and software $49.95 

Briefcase unit with power supplies and interface connectors 
(assembled and tested only) $599.95 

ANNOUNCING 

Our NEW 16K Byte Pseudo-Static, IMSAI/ALTAI R compat- 
ible RAM. Single card slot. Uses less power than equivalent 
low power RAM. All memory chips socketed. Uses all prime, 
factory fresh ICs. High quality, two-sided, through-hole- 
plated circuit board. Crystal controlled, totally invisible 
refresh system requires NO software management. Just plug 
it in and use like STATIC memory. 

Complete kit $349.95 

Assembled, tested, and burned in $549.95 

ASSOCIATED ELECTRONICS 

12444 Lambert Circle • Garden Grove, CA 92641 
(714) 539-0735 



SOFTWARE 



BATTLESHIP 

ANOTHER EXCITING INTERACTIVE GAME FROM TSC. 
THIS 6800 ASSEMBLY LANGUAGE PROGRAM PLACES 
YOU IN COMMAND OF A CONVOY OF SHIPS DOING 
BATTLE WITH THE FLEET COMMANDED BY THE COM- 
PUTER. YOU EXCHANGE FIRE WITH THE COMPUTER 
IN AN EFFORT TO DESTROY ITS FLEET BEFORE 
YOUR'S IS. YOU RECEIVE A COMMENTED ASSEMBLED 
SOURCE LISTING INCLUDING A SYMBOL TABLE, HEX 
CODE DUMP. INSTRUCTIONS, AND SAMPLE OUTPUT. 
SOURCE LISTING (REQUIRED) SL-23 $8.00 
PAPER TAPE (MIKBUG FORMAT) PT-4 $5.00 
CASSETTE (KC STC. MIKBUG FMT.) CT-6 $6.95 

DIAGNOSTICS 

THIS DIAGNOSTIC PACKAGE IS JUST WHAT YOU NEED 
FOR TESTING YOUR 6800. IT CONTAINS 5 MEMORY 
TESTS. PLUS 6 OTHER DEVICE TESTS FOR A TOTAL 
OF 11 INDISPENSIBLE SYSTEMS PROGRAMS. AND AT 
THIS PRICE. YOU CANT GO WRONG. SL-23 $10.00 

PROGRAM OF THE MONTH CLUB 

THIS UNIQUE OPPORTUNITY IN HOME COMPUTING IS 
ENJOYED BY HUNDREDS OF HOBBYISTS. COMPLETE 
INFORMATION IS INCLUDED IN OUR CATALOG. 

ORDERING INFORMATION 

PLEASE INCLUDE 3v. POSTAGE, INDIANA RESIDENTS 
ADD 4V- TAX (US FUNDS ONLY). CHECK YOUR LOCAL 
DEALER FOR OUR PRODUCTS. (DEALER INQUIRIES 
WELCOMED). SEND $.25 FOR A COMPLETE CATALOG. 

TCP TECHNICAL SYSTEMS CONSULTANTS TCP 

I 2Ll B0X 2574 w . LHFBYETTE INDIANA 47906 ' •J'-' 



119 



• 



ITM 



ii u i cniwm 



MICROCOMPUTING FOR HOME AND THE SMALL RUSINESSMAN 



The professional publication bringing microcomputing technology to the hobbyist, small businessman, educator, 
engineer and student. Every issue edited to bring technology and people together in the simplest manner. 



INTERFACE AGE is packed with 




HARDWARE ARTICLES — Product profiles, comparisons, 
applications, modifications and construction pro- 
jects. 

SOFTWARE ARTICLES — Microcomputer development 
software, short software routines, application 
software, off-line software storage formats, software 
communication standards and access to the 
microcomputer software depository for all INTER- 
FACE AGE readers. 

TUTORIALS — Fundamentals of micro processors, basics for 
microcomputing, professional to technical transition 
information, understanding software, elementary 
math for computing, 

• NEW PRODUCTS — Manufacturer profiles and latest 
product releases. 

• USER COMMUNICATION — UPDATE — devoted to 
club and organization announcements 
and activities. — LETTERS TO THE 

EDITOR — Reader forum for expression 
of opinions and feedback on articles and 
features. 

• MICRO-MARKET/FIFO FLEA MARKET - Low cost/no 
cost advertising for the new 
marketeer/garage sale enthusiast. 



If you need to know how to get started in microcomputing or need the valuable software once 
your system is completed then INTERFACE AGE is a must for you. 



r 



Don't Delay — Subscribe Today! 

INTERFACE AGE MAGAZINE 



1 



P.O. Box 1234 
Cerritos, CA. 90701 



Name. 



12 Monthly Issues: 

$10 U.S., $12 Can./Mex., 

$18 International 



□ CHECK 



□ MONEY ORDER 



L 



Address. 

City 

Country . 



State. 



Zip_ 



MAKE CHECK PAYABLE TO: INTERFACE AGE MAGAZINE 



J 



Further Notes on Bar Codes 

The reactions to bar code as a means of 
printing programs have been quite encour- 
aging. We've received a flood of letters with 
numerous comments ranging from "great" 
to "scurrilous" [hard to believe], from no 
technical content to multiple page tomes of 
opinionated technical proposal. 

We had planned to put in a little bar code 
contest this month, but a number of 
circumstances at the production end added 
together in phase to prevent the copy from 
reaching the magazine for February. The 
production of bar codes in this form is still a 
very experimental art. . . The tricks which 
Walter Banks had to pull, together with the 
usual programming glitches and circum- 
stances totally unrelated to bar codes or 
programming made themselves evident when 
February's bar code information was pre- 
pared. 

The first output came our way well in 
advance of the publication deadline. The 
mental model at that point was "every- 
thing's just fine." Then, along about two 
weeks before press time, yours truly decided 
that it might be a good idea to try decoding 
the copy. A test decode of the copy found a 
bit of a discrepancy. It turns out that there 
was a minor bug in the conversion software: 
9 bits instead of 8 bits per byte. (The 
program was run on a machine with a 36 bit 
word. . . hmmm sounds suspicious). 

So Walter went back to work on ironing 
out the bug — only to find that after fixing 
the program a crucial step in the process of 
bootstrapping the minicomputer in the 
Photon phototypesetter decided to die: The 
stepper motor in the paper tape reader of 
the machine burned out. In a feat of real 
time hardware redesign, on the weekend of 
December 11-12, Walter and associates 
discarded (logically) the paper tape reader 
and added another direct hardwired link to 
the Honeywell computer which enabled 
them to bootstrap directly. The actual data 
for the bar codes had always been sent 
directly over a communications link, which 
is a good thing, sirice for just one 6.75 by 3 
inch (17.1 by 7.6 cm) segment of bar code 
copy the machine requires over 70,000 
commands. 

Finally, to cap off the whole process, 
three days before the deadline, Walter sent 
the package containing the bar code samples 
for this issue, and they were promptly lost 
by the air express company which was used 
as a courier. As is usual in magazine practice, 
we prepared this alternative set of copy to 
go with the magazine — in case at the last 
minute the missing bars were to arrive like 
cavalry and save the day." 



'confused about printers?\ 




MPI HAS YOUR ANSWER! 

TTY REPLACEMENT? 

THE SSP-40 PRICED AT $C7C 

Contains its own microprocessor u I ■ ■ 1 

for easy connection to your serial port ^^ ^^ 

LOW COST BUSINESS SYSTEM? 

THE MP-40 PRICED AT S/IOC 

Connects to your parallel port "^A f ~ I 

tor ASCII data transfer *^\J 

MINIMUM COST FOR HOBBYIST? 
THE KP-40 KIT PRICED AT <M 7 f\ 

Mechanism and minimum electronics I m ^4 

for connexion to your parallel port 

All of our 40 series printers use the same reliable 5X7 impact dot matrix 
mechanism with up to 40 columns per line on ordinary paper with a print 
speed of 75 tines/minute 

SEND FOR FREE LITERATURE 

m^^ ! MICROPROCESSOR SYSTEMS 

J I AND PERIPHERALS 

f^ P.O. BOX 22101/SALT LAKE CITY/UT 84122 

(801)566-0201 

MASTER CHARGE WELCOME • UTAH RESIDENTS ADD 5% SALES TAX 



M6800 ADVANCED 
SYSTEMS SOFTWARE 



RT/68® 



RT/68" is mask-programmed on a 6830 ROM that 
replaces the Mikbug* ROM in your SWTPC 6800, 
Motorola Evaluation Module, etc. It is a powerful real 
time, multiprogramming operating system with many 
versatile system functions. RT/68© can support up to 16 
concurrent programs at 8 priority levels, and has 8 
software I/O channels. 

MICROWARE has improved the Mikbug* functions, 
added four more (Dump, Exec, Sys, Bkpt) and made tape 
load and punch program-usable. RT/68© is designed so 
programs that use Mikbug* I/O don't require changes. 

The comprehensive manual provides a good short 
course in multiprogramming, describing programming 
techniques illustrated with many examples. KX/68® 
MULTIPROGRAMMING POWER CAN RUN A 
SECURITY SYSTEM, ANALYZE THE ACCOUNTS 
RECEIVABLE, AND MONITOR AN EXPERIMENT, ALL 
WHILE CHALLENGING A KLINGON FLEET. 

RT/68 5 was originally developed for complex in- 
dustrial control applications and is available in a 
dedicated OEM version. Write for details. 

RT/68' is recommended for those with assembly 
language familiarity. 

ORDER RT68MR $45.00 ppd. 

THE MICROWARE CORPORATION 

RO. BOX 954 Des Moines, Iowa 50304 

Write or use reader service card for free brochure. 
BankAmericard and Mastercharge give all info on card. 
Mikbug* is a trademark of Motorola, Inc. 



121 



TTL Loading Considerations 



i„ 



^-^ 



Figure I: Schematic Dia- 
gram and symbolic repre- 
sentation of a simple 7400 
NAND gate. The inputs 
are A and B and the 
output is Y. 



7400 
NAND GATE 



(OUTPUT) 



;=o_ 




TO NEXT STAGE 



TTL GATE X 



TTL GATE Y 



Figure 2a: Schematic Diagram of a basic TTL gate showing the direction of 
IOH when the output is high, VOH. 



Greg Tomalesky 
Design Engineer 
GT Electronics 
164 Preston Rd 
Parsippany NJ 07054 

If you have ever studied a microcom- 
puter's schematic diagram, chances are you 
have seen gates, flip flops, memories, etc, 
connected together to perform certain tasks 
essential to the operation of the computer. 
Upon closer examination you should notice 
that various logic families are mixed, such as 
74XX, 74LXX, 74LSXX and perhaps even 
CMOS. However, you may not have noticed 
that there is a limit to the number of gates 
that may be interconnected. The purpose of 
this article is to show how these limitations 
are arrived at by circuit designers and what 
you should watch out for in your own cir- 
cuit design. 

Let's take a close look at what goes on 
inside a typical gate and apply this know- 
ledge to our circuit design. Figure 1 is a 
schematic diagram of a standard TTL NAND 
gate model 7400. The input of this gate is a 
multiemitter transistor, Ql. The base of Ql 
is tied to VCC, +5 V, through R1. This ar- 
rangement turns Ql on and allows current to 
flow from emitter to collector (see Biblio- 
graphy, reference 1, for further discussion 
of this circuit). When both emitters are at 
a logical 1 voltage, 2.4 V < VIH<VCC, 
this current flows through Ql and turns 
Q2 on. With Q2 on, Q3 is also on, and it 
conducts from collector to ground. This 
causes a logical voltage, (0 V < VOL < 
0.4 V, to appear at the output. 

In the case where both emitters are 
grounded, no current flows to Q2 and it re- 
mains in the off state. With Q2 off, Q3 is 
also off. Q4 is now on and a logical 1 voltage 
appears at the output. Table 1 is a truth 
table summarizing input and output for the 
circuit. 

The current for the input transistor Ql is 
set by varying R1. A large value for Rl 



122 



y = AB (NAND) 



\a 

B Nv 





1 





1 


1 


1 


1 






Table I: Truth Table for 
the NAND circuit shown 
in figure I. The inputs are 
A and B and the output is 
Y. 



results in a lower input current, IIH and IIL, 
for the various TTL families. 

On the output side, the currents IOH and 
IOL are determined by Q3, Q4, R2 and R4. 
For a logic 1 voltage, this current is flowing 
out of the output and is governed by R4. In 
the data books this current is given a minus 
sign to indicate current flow out of a ter- 
minal. Low values of R4 allow higher output 
currents for single transistor output stages. 
In some cases, such as the 74S series, a 
Darlington transistor pair is used to boost 
the output current beyond that obtainable 
with a single transistor. 

Figures 3a and 3b illustrate the direction 
of current flow for VOH and VOL respec- 
tively. In table 2 the output currents are 
given for the various TTL families. Circuit 
designers use the values of IIH, IIL, IOH and 
IOL to calculate the fanout. Fanout is a 
measure of the number of inputs which may 
safely be connected to one output. 

The fanout between two logic families 
may be calculated in one of two ways. 
Table 3 gives the fanout based on IOH and 
IIH. The results of the division (IOH/IIH) 
are given as absolute values in table 3. 
Absolute values are used because negative 
fanout has no practical meaning. Table 4 
gives the fanout values calculated from IOL 
and IIL. Again the absolute value is taken. 
To find the number of inputs that may be 
driven from one output, one simply locates 
the driving output family across the top of 
the chart and proceeds down that column to 
the row corresponding to the driven input. 
This procedure should be followed for both 
charts since the fanout values will be differ- 
ent depending on the mode of calculation. 
As an example, using table 3, we want to 
know how many 74L series inputs may be 
driven by one 74S series output. By follow- 
ing the above directions, we see that this 
value is 100 inputs. Using table 4, we notice 
the value is more than with table 3. In this 
case the limiting value is the smaller of the 
two. Since the figures are based on manu- 



vec 

+ 5V 




TO NEXT STAGE 



/77 



Figure 2b: Schematic Diagram of a basic TTL gate showing the direction of 
IOL when the output is low, VOL. 





74 


74L 


74H 


74S 


74LS 


IOL < mA > 


16 


2 


20 


20 


4 


IOH ( ^ A) 


-400 


-200 


-500 


-1000 


-400 



Table 2: High and low output currents from several different TTL devices. 





74 


Driving C 
74L 


lutput 

74H 


74S 


74LS 


74 


10 


5 


12 


25 


10 


74L 


40 


20 


50 


100 


40 


74H 


8 


4 


10 


20 


8 


74S 


8 


4 


10 


20 


8 


74 LS 


20 


10 


25 


50 


20 



Table 3: Fanout Chart used to compute the number of devices any particular 
TTL device can power. The fanout is calculated by dividing the output cur- 
rent by the input current. In this case the highest input and output values 
were used. 







74 


Driving C 
74L 


lutput 

74H 


74S 


74LS 




74 


10 


1 


12 


12 


2 


a 


74L 


88 


11 


111 


111 


22 


c 


74H 


8 


1 


10 


10 


2 


> 


74S 


8 


1 


10 


10 


2 


u 


74LS 


44 


5 


55 


55 


11 



Table 4: Fanout Chart calculated the same way as table 3 except that the 
lowest values of input and output current were used in the calculations. 



123 



facturers' specifications, they are valid over 
the temperature range OC < Ta < 70 C for a 
given part and represent worst case condi- 
tions. Fanout decreases with an increase in 
temperature above the upper specification 
limit. 

Gate outputs must also sink current to 
ground during the VOL state. This current 
must go through Q3 as shown in figure 2a. 
As is often the case, a gate output is able to 
drive more inputs high than it is able to sink 
at VOL. 

When doing your own circuit design, plan 
out your connections to avoid exceeding the 
fanout specifications as calculated above. 
Remember also, when using multiple input 
gates as inverters, ie: 7420, 7400, etc, only 
one input should be used. The other inputs 
should be tied to VCC through a 1000 ohm 
resistor. It is also good practice never to tie 
unused inputs to used inputs because of the 
increased current drain. As an example, each 
input of a 7400 NAND gate requires 40 (iA 
at IIH. If both inputs are tied together to 
act as an inverter, the resultant input current 
would be 80/jA or the sum of the two input 
currents. On the other hand, if one input is 
used while the other is tied to VCC, the cur- 
rent of the active input is 40 ;uA. Also, do 
not tie two or more outputs together. If all 



the outputs are high it's okay, but as soon as 
one goes low it will try to bring the others 
low also. This will result in faulty perfor- 
mance or at worst a damaged gate. 

In addition to the charts and tables des- 
cribed here, be sure to consult any pertinent 
data books for further information as to 
specifications, pin connections, etc. If you 
are just getting started in digital circuit 
design, it may be helpful to look over pub- 
lished schematics to get some ideas and also 
to compare calculated fanout data. 

Digital design can be both rewarding and 
frustrating; however, by paying close atten- 
tion to the recommended design practices, 
you will insure yourself against frustration 
and produce better circuit designs." 

BIBLIOGRAPHY 

1. Morris, RL, and Miller, JR, eds, Designing with 
TTL Integrated Circuits, McGraw-Hill, New 
York, 1971. 

2. Hnatek, ER, A User's Handbook of Integrated 
Circuits, J Wiley & Sons, New York, 1973. 

3. The TTL Data Book for Design Engineers, 
Texas Instruments, 1973. 

4. Supplement to the TTL Data Book, Texas 
Instruments, 1974. 




124 



101 Basic 
Computer Games 

David H. AM. An anthology of games 
and simulations — from Acey-Deuccy to 
Yahtzee, all in the BASIC language. 
Contains a complete listing, sample run, 
plus a descriptive write-up of each game. 
Our most popular book! Large formal, 
248 pp. $7.50 [6C] 



What to Do After 
You Hit Return 

Another collection of games and 
simulations— all in BASIC— including 
number guessing games, word games, 
hide-and-seek games, pattern games, 
board games, business and social science 
simulations and science fiction games. 
Large format. 158 pp. $6.95 [8A] 

Fun & Games 
with the Computer 

Ted Sage. "This book is designed as a 
text for a one-semester course in com- 
puter programming using the BASIC 
language. The programs used as il- 
lustrations and exercises are games 
rather than mathematical algorithms, in 
order to make the book appealing and 
accessible to more students. The text is 
well written, with many excellent sample 
programs. Highly recommended." — The 
Mathematics Teacher 35 1 pp. $5.95 [8B] 

Game Playing 
With the Computer, 
2nd Ed. 

Donald Spencer, Over 70 games, puzzles, 
and mathematical recreations for the 
computer. Over 25 games in BASIC and 
FORTRAN are included complete with 
descriptions, flowcharts, and output. 
Also includesa fascinating account of the 
history of game-playing machines, right 
up to today's computer war games. Lots 
of "how-to" information for applying 
mathematical concepts to writing your 
own games. 320 pp. I976 $14.95 [8S] 

BYTE Magazine 

If you are considering a personal com- 
puting system now "or later, BYTE 
provides a wealth of information on how 
to get started at an affordable price. 
Covers theory of computers, practical 
applications, and of course, lots of how- 
to build it. Monthly. 1-Year sub'n $12.00 
[2A], 3-Years $30.00 [2B] 

Games & Puzzles 
Magazine 

The only magazine in the world devoted 
to games and puzzles of every kind — 
mathematical, problematical, 
crosswords, chess, gomoko, checkers, 
backgammon, wargames, card games, 
board games, reviews, competitions, and 
more. Monthly. l-Yearsub'n$12.00[3A] 

Games With The 
Pocket Calculator 

Sivasailam Thiagarajan and Harold 
Stolovitch. A big step beyond tricks and 
puzzles with the hand calculator, the two 
dozen games of chance and strategy in 
this clever new book involve two or more 
players in conflict and competition 1 . A 
single inexpensive four-banger is all you 
need to play. Large format. 50 pp. $2.00 
[8Hj 

Games, Tricks and 
Puzzles For A Hand 
Calculator 

Wally Judd. This book is a necessity for 
anyone who owns or intends to buy a 
hand calculator, from the most 
sophisticated (the HP65, for example) to 
the basic "four banger." 110 pp. $2.95 
[8D] 



So you 've got a 
personal computer. 

Now what? 



The Best of Creative 
Computing — Vol. 1 

David AM. ed. Staggering diversity of 
articles and fiction (Isaac Asimov, etc.), 
computer games (18 new ones with 
complete listings), vivid graphics, 15 
pages of "foolishness," and comprehen- 
sivereviews of over 100 books. The book 
consists of material which originally 
appeared in the first 6 issues of Creative 
Computing (1975), all of which are now 
out of print. 324 pp. $8.95 £6A] 



Creative Computing Magazine 

So you've got your own computer. Now what? Creative Computing is chock full 
of answers — new computer games with complete listings every issue, TV color 
graphics, simulations, educational programs, how to catalog your LPs on 
computer, etc. Also computer stories by Asimov, Pohl, and others; loads of 
challenging problems and puzzles; in-depth equipment reports on kits, terminals, 
and calculators; reviews of programming and hobbyist books; outrageous 
cartoons and much more. Creative Computing is the software and applications 
magazine of personal and educational computing. Bi-monthly. 
1 -year sub'n $8.00 [ 1 A], 3- years $2 1 .00 [ I B], sample copy $ 1 .50 [ I C] 

Problems For 
Computer Solution 

Gruenberger & Jaffray. A collection of 
92 problems in engineering, business, 
social science and mathematics. The 
problems are presented in depth and 
cover a wide range of difficulty. Oriented 
to Fortran but good for any language. A 
classic. 401 pp. $8.95 [7A] 

A Guided Tour of 
Computer Programming 
In Basic 

Tom Dwyer ana Michael Kaufman. 
"This is a fine book, mainly for young 
people, but of value for everyone, full of 
detail, many examples (including 
programs for hotel and airline reser- 
vations systems, and payroll), with much 
thought having been given to the use of 
graphics in teaching. This is the best of 
the introductory texts on BASIC."— 
Creative Computing Large format. 156 
pp. $4.40 [8L] 



Problem Solving With 
The Computer 

Ted Sage. This text is designed to be used 
in a one-semester course in computer 
programming. It teaches BASIC in the 
context of the traditional high school 
mathematics curriculum. There are 40 
carefully graded problems dealing with 
many of the more familiar topics of 
algebra and geometry. Probably the 
most widely adopted computer text. 244 
pp. $5.95 [8.1] 

A Simplified Guide to 
Fortran Programming 

Daniel McCraeken. A thorough first text 
in Fortran. Covers all basic statements 
and quickly gets into case studies ranging 
from simple (printing columns) to 
challenging (craps games simulation). 
278 pp. $8.75 [7F] 



Understanding Solid 
State Electronics 

An excellent tutorial introduction to 
transistor and diode circuitry. Used at 
the Tl Learning Center, this book was 
wtltten for the person who needs to 
understand electronics but can't devote 
years to the study. 242 pp. $2.95 [9A] 



Computer Lib/ 
Dream Machine 

Ted Nelson. This book is devoted to the 
premise that everybody should under- 
stand computers. In a blithe manner the 
author covers interactive systems, ter- 
minals, computer languages, data struc- 
tures, binary patterns, computer 
architecture, mini-computers, big com- 
puters, microprocessors, simulation, 
military uses of computers, computer 
companies, and much, much more. 
Whole earth catalog style and size. A 
doozy! 127 pp. $7.00 [8P] 

Computer Power and 
Human Reason 

Joseph Weiienbaum. In this major new 
book, a distinguished computer scientist 
sounds the warning against the 
dangerous tendency to view computers 
and humans as merely two different 
kinds of "thinking machines." Weizen- 
baum explains exactly how the computer 
works and how it is being wrongly 
substituted for human choices. 300 pp. 
$9.95 [8R] 



BASIC Programming 
2nd Ed 

Kemenv and Kurtz. "A simple gradual 
introduction to computer programming 
and time-sharing systems. The best text 
on BASIC on almost all counts. Rating: 
A+' '-Creative Computing. 150 pp. $8.50 



Microprocessors 

A collection of articles from Electronics 
magazine. The book is in three parts: 
device technology; designing with 
microprocessors; and applications. 160 
pp. 1975 $13.50 [9J] 

Microprocessors: Tech- 
nology, Architecture 
and Applications 

Daniel R. McGlynn. This introduction 
to the microprocessor defines and 
describes the related computer structures 
and electronic semi-conductor processes. 
Treats both hardware and software, 
giving an overview of commercially 
available microprocessors, and helps the 
user to determine the best one for 
him/her. 240 pp. $12.00 [7C] 

Creative Computing 
Catalogue 

Zany 12-page tabloid newspaper/ 
catalog lists books, magazines, art prints, 
and T-Shirts. A conversation piece even 
if you don't order anything. Free. [5A] 



Artist and Computer 

Ruth Leavitt. ed. Presents personal 
statements of 35 internationally-known 
computer artists coupled with over 160 
plates in full color and black & white. 
Covers video art, optical phenomena, 
mathematical structures, sculpture, 
weaving, and more. 132 pp. $4.95 [6D1 
Cloth cover $10.95 [6E] 



Computer Science: 

A First Course (2nd Ed.) 

Forsythe, Keenan, Organick, and 
Stenberg. A new, improved edition of 
this comprehensive survey of the basic 
components of computer science. There 
has been an updating of important areas 
such as Programming, Structured 
Programming, Problem Solving, and 
other Computer Science Concepts. The 
quantity of exercises and problems has 
been increased. 876 pp.$16.95 [7D] 

Mr. Spock Poster 

Dramatic, large (17" x 23") computer 
image of Mr. Spock on heavy poster 
stock. Uses two levels of overprinting. 
Comes in strong mailing tube. $1.50[5B] 



CREATIVE COMPUTING, Dept. B 
P.O. Box 789-M, Morristown, NJ 07960 



Please send me the following: 
Quan. Cat. Description 



Price 



Books Shipping charge $1.00 USA, $2.00 Foreign . 

NJ Residents add 5% sales tax - 

D Cash, check, M.O. enclosed TOTAL . 

□ BankAmericard \ Card No. 



□ Master Charge ) Expiration date . 
Name 



Address 
City 



State 



. Zip . 




BYTE's Bits 



Preserve those precious first 16 issues 

with either a handsome but rugged 
library file— or a binder— in flag blue 
Kivar library fabric stamped in gold 
leaf. 




Files: Made to hold the first 1 6 issues of BYTE. Price per 
file $4.95; three for $14; six for $24, postpaid. 

Binders: Made to hold the first 16 issues of BYTE. Price per 
binder $6.50; three for $18.75; six for $36, postpaid. 
(Add $1 each outside USA.) 



Send to: BYTE, POB 5120, Philadelphia PA 19141 

I enclose check or money order for $ 

Please send me BYTE Files Binders 

Name 



(Please print) 



Address 
City 



State 



Zip 



Satisfaction guaranteed or money refunded. Allow at least four 
weeks for delivery. 



A Computer Oriented Radio Talk Show 

Richard Gardner has made some 
connections in the radio media resulting 
in a new radio "talk" show for computer 
people which began 11 am-1 2:30 pm on 
January 22 1977 over radio station 
WBUR in Boston. Guests lined up for 
the early shows include: 

Calvin Mooers, Rockford Re- 
search, discussing patent and 
copyright laws as applied to 
computer programs, documenta- 
tion, proprietary software and 
software security. 
A representative of ECD Corpora- 
tion, Cambridge MA, manufactur- 
ers of a most interesting and 
complete computer system with 
high resolution graphics. 
Bill Rosenfeld, MIT Lincoln 
Labs, a researcher working on 
topics of speech compression and 
speech synthesis. 

John Carroll, Dynamic Measure- 
ment Corporation, who designs 
power supplies and other elec- 
tronic equipment professionally, 
discussing ideas for broadcasting 
programs and data over the air 
and how individual users might 
record this information for per- 
sonal use. 

Arra Avakian, owner of a KIM-1 , 
discussing some of the finer 
points of using this 6502 based 
system. 

Carl Mikkelson, Intermetrics Inc, 
talking about the development of 
the PLM6800 compiler, a lan- 
guage translator for cross compila- 
tions using large machines. 
Quincy Bent, Shriver Foundation, 
describing how he has been using 
a microcomputer kit to build a 
video tape editing system - in 
spite of his total lack of familiar- 
ity with computers prior to the 
project. 

Karen Brothers and Louise Silver, 
programming consultants, who 
have a PDP-8 based home compu- 
ter system, discussing how they 
do recipe nutrient analysis so that 
given a recipe, its nutritional 
value can be computed. Their 
data base on nutrition includes 
everything from reindeer milk to 
muskrat's tail. 
Initial versions of the show have been 
done using a local radio talk show 
format over WBUR, the Boston Univer- 
sity radio station. Richard reports that 
he has been discussing the prospect of 
syndicating the show through the PBS 
network or commercial radio as an 
educational and informative program for 
people who are interested in small 
computers. We'll have further reports as 



126 



time progresses. Richard can be reached 
by phone at (617) 354-1216 (leave a 
message in response to his unusual phone 
reply tape if he's not there) or write him 
at Box 134, Harvard Sq, Cambridge MA 
02138." 



Publicity 

Our Canadian readers will be inter- 
ested to know that there is now a 
bona-fide computer store in operation in 
Canada. The store will carry a very broad 
range of products of interest to all users, 
from hobbyists to small scale business 
systems. 

The First Canadian Computer Store 
Ltd is located at 44 Elington Av, 
Toronto, Ontario M4R 1A1, (416) 
482-8080." 



The Southernmost Computer Store 

Sunny Computer Stores Inc has 
moved to a permanent location in the 
University Shopping Center across from 
the University of Miami. They offer a 
full line of computers, components, 
books, magazines and a complete service 
center for all products carried." 



Attention Educators 

The 1977 Winter Meeting of the 
Association for the Development of 
Computer-Based Instructional Systems 
(ADCIS) will be held in Newark DE, 
February 22 thru 24 1977. For further 
information, contact the conference 
host, Fred Hofstetter, Department of 
Music, University of Delaware, Newark 
DE 19711, (302) 738-2497." 





The official "crowd scene" shot taken with a wide angle camera, 



777e maker of the potted palm is unknown, but 
computer-watchers will identify a rare Memorex 
MRX-40 (an IBM/360 Model 40 look-alike 
internally) under the palm, with an early DEC 
PDP-8 at the right. Since the Computer Warehouse 
store combines all the delights of a surplus house 
(it's the back side of American Used Computer) 
and a regular computer store, it is definitely a 
"must stop" on any computer hacker's tour of the 
Northeast, 



Computer Warehouse Store Opening 

On Thursday, November 18, the 
Computer Warehouse store in Boston 
held its grand opening celebration. Here 
is a cross section of pictures supplied by 
Vic Farmer of the store, showing some 
of the action. 




WMSm 



Two candid shots of budding hackers at 
work. From the looks of things, one is a 
hardware person and the other a 
software person. 



One of the door prizes being shown to the door by 
its new owners. 



LET YOUR COMPUTER SEE 



T.V. CAMERA INTERFACE AND CAM 



TEACH YOUR COMPUTER TO READ 

LET YOUR COMPUTER MAKE DECISIONS 

BASED ON VISUAL INPUT 

MAXIMUM VERTICAL RESOLUTION 
MAXIMUM HORIZONTAL RESOLUTION 
GREY SCALE RESOLUTION 
MAXIMUM CONVERSION TIME (SEC.) 

INFORMATION STORED IN AVAILABLE MEMORY 
ANY TV CAMERA WITH EXT. SYNC. 
INPUT CAN BE USED 

ALL EQUIPMENT FULLY ASSEMBLED 
INTERFACE & DOCUMENTATION 
INTERFACE, DOCUMENTATION & CAMERA 
MONITOR (VIDEO) 
DIGITAL DISPLAY BOARD TO FOLLOW 



COMPUTER 



:ra for altair / imsai 



PLAY GAMES AND LET YOUR COMPUTER 

SEE THE BOARD 

INTERFACE TO THE ENVIRONMENT 



246 

214 

64 

5 



$295. 
$595. 
$150. 



D INTERFACE & DOCUMENTATION 

D INTERFACE, DOCUMENTATION, CAMERA 

□ MONITOR 

D SEND MORE INFO. DALTAIR 

ENCLOSED IS MY CHECK FOR $ 

NAME 

ADDRESS 

CITY 



$295. 
$595. 
$150. 

□ IMSAI 



. STATE. 



.ZIP- 



OHIO RESIDENTS PLEASE ADD TAX 
SEND TO: ENVIRONMENTAL INTERFACES 

3207 MEADOWBROOK BLVD.; CLEVE., OH 44118 

(216) 371-8482 



127 



What's 




iiiii 




Take a Look, All Ye 

Timesharing Freaks, Microcomputer Users 

without Terminals 

A company called the Computer Conver- 
sion Corp, located at 1961 Old MiddlcField 
Way, Mountain View CA 94043, has just 
introduced this new terminal unit, priced as 
low as $595 for just one of the 40 character 
by 24 line models, Conversor 4000. The 
Conversor 8000 is an 80 character by 24 line 
model priced at $695 for just one. The 
purchaser has to supply his or her own 
monitor or converted television to accept 
the video output of this compact keyboard 
unit, and the computer interface of the 
device is RS-232 with switch selectable 1 10 
or 300 baud data rate. To get a timesharing 
terminal, the unit requires addition of the 
accoustic coupler option for $110. An audio 
"beeper" option is also available for $30. 
This is a completely assembled unit, avail- 
able with delivery from 30 to 60 days 
according to the press release. For further 
details contact the manufacturer of this fine 
unit." 



PRAMMER? 

XYBEK, a new firm with one 
product at present, makes the "PRAM- 
MER," an EROM programmer with pro- 
grammable memory buffer and control 
EROM for the Altair 8800, IMSAI 8080 
and other Altair bus compatible com- 
puters. This 2 K memory board contains 
256 bytes of programmable memory and 
space for 1792 byles of I702A EROM. 
One of the 1702A sockets doubles as the 
1702A programming socket. The 
PRAMMER is not an 10 device, but 
occupies any 2 K slice of system 
memory. This kit is complete with its 
own 80 V power supply, features on- 
board timing independent of the proc- 
essor clocks and contains its own micro- 
program for read and write control. No 
oneshots are used for timing. The 256 
bytes of programmable memory may be 



used for a stack, for buffers, save areas, 
etc, eliminating the need for use of main 
memory already dedicated to other 
application programs. Complete stand- 
alone software for programming and 
copying 1702A EROMs is supplied with 
the PRAMMER kit in a single prepro- 
grammed 1702 A. Also included are the 
complete listings for PRAMSYS, an 1 1 
function development system designed 
to reside in the 1792 bytes of EROM in 
the fully populated board and to inter- 
face with a Teletype compatible termi- 
nal. Also available is a 3 foot extension 
kit for bringing any of the 1702A 
sockets to a zero insertion force socket 
outside your system's cabinet. The intro- 
ductory price for the PRAMMER kit is 
$189 and the extension kit is $15. 
Address inquiries to XYBEK, POB 1631, 
Cupertino CA 95014." 




Attention Commercial and 
Industrial 6502 Users: 
A PDP-11 Cross Assembler 
is Now Available 

COMPAS has developed a PDP-11 
based cross assembler for the MOS Tech- 
nology family of microcomputers. The 
system is called the MINmic I 165 Cross 
Assembler and is written entirely in 
MACRO 1 1 (assembler language) and 
runs under the RT 11 operating system. 
It requires less than 5 K words for a 
minimal system and can be easily ex- 
panded to assemble larger programs if 
desired. 

COMPAS is the firm which developed 
and supported cross assembly software 
for MOS Technology's 6502 marketing 
programs. The MINmic 1165 Cross 
Assembler is very similar to the FOR- 
TRAN based cross assemblers developed 
by COMPAS and offered nationally by 
MOS Technology. The system provides 
listing and memory files which conform 
to the standards established by. MOS 
Technology for its products. 

The MINmic 1 165 Cross Assembler is 
priced at $900. The price includes a 
year's support. Source code is dis- 
tributed on disk along with a test deck 
which verifies correct installation of the 
software. Further information is avail- 
able from Mike Corder at (515) 
232-8181. ■ 



128 



BITS™ Presents: 




TV Typewriter Cookbook by Don 

Lancaster. A complete guide to low cost 
television display of alphanumeric data, 
several chapters of which were published 
ahead of the book in early issues of BYTE 
magazine. $9.95 

Digital Logic Circuits by Sol Libes. An 

invaluable tutorial background volume on 
digital logic, arithmetic, IO concepts and 
interfacing to analog devices; written by one 
of the founders of the Amateur Computer 
Group of NJ. This book acquaints the 
reader with much of the terminology and 
background concepts of digital hardware. 
$5.98. 

Modern Operational Circuit Design by 



Active Filter Cookbook by Don Lan- 
caster. The chief chef of electronics Cook- 
books concocts another gourmet appetizer. 
Run to this book when you need to find a 
starting point for the design of a filter for 
use in an electronic application. $14.95. 



_Altair Design developed by Ensor 



John L Smith. An absolutely essential intro- 
duction to the use and application of 
operational amplifier systems. The book 
contains both theoretical background infor- 
mation and practical circuit suggestions 
which can be used to advantage by the 
experimenter. $16.95 (hardbound). 

Electronic Projects for Musicians by 



Craig Anderton. "Even if you know nothing 
about electronics, you can build preamps, 
ring modulators, mixers, tone controls, min- 
iampls, fuzzes and a dozen other inexpen- 
sive musical projects." Furthermore, even if 
you couldn't care less about about musical 
applications, you can use this book to gain 
familiarity with electronic parts, circuit dia- 
grams and construction techniques, using 
the wealth of illustrations and tips found in 
an extended introductory chapter for the 
novice electronicker. $6.95. 



Holiday. 

More Altair Design developed by Ens- 
or Holiday. 

— Altair Design 3 developed by Ensor 

Holiday. 

Keep the loved ones busy while you use 
your system . . . give them any one or all of 
these computer generated Altair Design 
books to start them (or yourself) on endless 
hours of creative coloring. No other coloring 
books are quite like these unique books. 
$2.50 each. 



Artist and Computer edited by Ruth 

Leavit. A visual treat, as you encounter 
reproductions of numerous works by com- 
puter oriented artists and read about these 
works in their own words. $4.95. 

Linear IC Principles, Experiments, and 

Projects by Edward M Noll. From basic 
principles to complicated systems, from 
simple amplifier experiments to applications 
in radio, TV and control systems, this book 
can improve your knowledge of the way 
circuitry of the analog world really works. 
$8.95. 



Practical Solid-State Circuit Design by 

Jerome E Oleksy. A self study course in the 
design of semiconductor circuits from the 
simple transistor to the complex operational 
amplifier. $5.95. 

Boolean Algebra by Brice Ward. A 

background tutorial and study guide for the 
design and simplification of static networks 
of logic gates. Learn how to combine those 
ANDs, NANDs, NORs and ORs to evaluate 
complicated logical conditions of multiple 
inputs, electronically. $5.50. 

. Projects in Sight, Sound & Sensation 

by Mitchell Waite. Dedicated "to all space 
cowboys." Detailed theory and practice of 
seven fascinating amateur electronics pro- 
jects, along with a complete and detailed 
appendix on how to make PC boards. $4.95. 

Creativity, Invention, & Process by 

John A Kuecken. Practical philosophy and 
history for the inventor. $3.50. 

-JSecurity Electronics by John E Cun- 
ningham. To catch a thief, apply liberal 
doses of ingenuity and a modicum of 
cleverness. Find out what's been tried in 
conventional alarm systems before you go 
off computerizing your home security sys- 
tem, though. $4.95. 

__^lntroduction to Biomedical Elect- 



ronics by Edward J Bukstein. What's been 
done in robot doctors? Nothing so far. But 
in terms of electronic aids to physicians and 
practices of health researchers, consult this 
background review of the field of biomed- 
ical electronics. $5.50. 

What to Do After You Hit Return of 



PCC's First Book of Computer Games. This 
is PCC's first book of computer games, a 
compendium which includes descriptions of 
numerous games, and listings of 37 selected 
BASIC games. $8, new second edition. 



Send to: 

BITS, Inc 
70 Main St 
Peterborough NH 03458 



Total for all books checked 
Postage, 25 cents per book 

for books 

Grand Total 




Check payment method: 

My check is enclosed 

Bill my MC No. 

Bill my BAC No. 



Exp. date 
Exp. date 



Name 



Address 



City 



State 



Zip 



$ 
$ 



Signature 



You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery. 



A BIT More 



When you build a project, you need information. All 
you find in the advertisements for parts are mysterious 
numbers identifying the little beasties . . . hardly the sort 
of information which can be used to design a custom 
logic circuit. You can find out about many of the 
numbers by using the information found in these books. 
No laboratory bench is complete without an accompany- 
ing library shelf filled with references. 





Order these absolutely essential references from Texas Instruments today: 

The TTL Data Book for Design Engineers, $4.95, new second edition. 

The Supplement to the TTL Data Book for Design Engineers, $1.95. 

The Linear and Interface Circuits Data Book for Design Engineers, $3.95. 

The Semiconductor Memory Data Book for Design Engineers, $2.95. 

The Transistor and Diode Data Book for Design Engineers, $4.95. 

The Power Semiconductor Handbook for Design Engineers, $3.95. 

Understanding Solid State Electronics, $2.95. 

The Optoelectronics Data Book for Design Engineers, $2.95. 

Designing with TTL Integrated Circuits, edited by Robert L Morris 

and John Ft Miller, published by McGraw-Hill, $24. 




— The TTL Cookbook by Don Lancaster, published by Howard W 
Sams, Indianapolis. Start your quest for data here with Don's 
tutorial explanations of what makes a TTL logic design tick. 335 
pages, $8.95. 

— Microcomputer Design by Donald P Martin. Edited and published 
by Kerry S Berland, Martin Research. Purchase your copy of the 
definitive source for circuitry and hardware design information on 
the 8008 and 8080 computers today. Even Intel, the originator of 
the microprocessor revolution, is hard put to compete with the 
wealth of information found in Martin Research's new second 
edition of Microcomputer Design. This is the book which was 
originally published as an expensive (but quite practical) engineering 
report in loose leaf form, at about the time the microprocessor 
technology was first catching on in the form of the 8008. This 388 
page second edition of the manual is loaded with detailed 
information on how to build and use computers based on the 8008 
and 8080. $25. 



Send to: 

BITS, Inc 
70 Main St 
Peterborough NH 03458 



Check payment method: 

My check is enclosed 

Bill my MC No. 



Bill my BAC No. 



Exp. date 
Exp. date 



Name 



Total for all books checked 
Postage, 25 cents per book 

for books 

Grand Total 



$ 
$ 



Address 


City 


State 


Zip 


Signature 



You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery. 



J 



Potpourri from BITS 

BITS, Inc, is a trademark of BYTE Interface Technical Services, Inc. 



TM 



It's Almost Too Late . . . 

... to snap up bicentennial memorabilia before 
you have to hunt through the nostalgia shops 
and pay 100 times the original price— if you're 
lucky enough to find a bargain— for an item as 
anachronistic and otherwise remarkable as Ro- 
bert Tinney's Computing 1776 picture. 
A same-size (16 by 20 inches, 41 by 51 cm) 
reproduction of Tinney's original oil painting, 
this poster makes an off-beat gift. 
Don't wait for the nostalgia shops to get the 
last of these posters; get yours now for only 
$2.95. (Do you know what your old Amazing 
Science Fiction magazines and Superman com- 
ics that Mom threw out are worth now?) 



COMPUTER BYTE T-shirts 





Available in blue heather with blue trim and 
red letters, or in white with blue trim and 
red letters. Only $5, including postage and 
handling. 



Have you ever wondered where to go 
for a basic starting point in your quest 
for information about computer applica- 
tions and uses? Ted Nelson's book. 
Computer Lib/Dream Machines, is the 
place for you to begin. 

Computer Lib/Dream Machines is for 
the layman — the person who is intelli- 
gent and inquisitive about computers. It 
is written and self published by a 
philosopher who is also a self confessed 
computer fan and an excellent teacher of 
basic concepts. (For those who have not 
yet heard, ivory towers are constructed 
out of real and substantial white bricks.) 

Computer Lib/Dream Machines is 
must reading for the beginner, and is also 
a refreshing self examination for the old 
hand at programming and systems work. 




Please send me: 

copies of Computer Lib @ $7 

50 cents postage per copy 

Total 

posters @ $2.95 



Total 



Total 



T-shirts 

small 

medium 



large 
extra large 



white, blue trim, red letters (s> $5 
blue heather, blue trim, red letters 



Grand Total 



Send to: BITS, Inc 
70 Main St 



9 m 


i 


BAMKAMfHICABa 



Check payment method: 

My check is enclosed 

Bill my MC No. 



Peterborough NH 03458 

Name 



Bill my BAC No. 



Exp. date 
Exp. date 



Address 



City 



State 



Zip 



S ignature 



You may photocopy this page if you wish to leave your BYTE intact 



Please allow six weeks for delivery. 



Listing 1: The BARC Utility Routines. This listing contains the absolute octal 
code of the BARC routines. The notation <*> is used to indicate the 
absolute page address of the routines, which are loaded on a page boundary. 
When (for example) loading the routines at location 010/000, substitute the 
page address of 010 for the <"'"> every time it is seen in the listing. The code 
is in octal, for an 8080 computer. Refer to the "legend" box for explanations 
of some of the mnemonics in the commentary of this listing. 



Add Some BARC to 

Your 



8080 



Split 
















Octal 
















Address 


Octa 


Code 


Label 


Op 


Operand 


Commentary 


<•> 000 


353 






SASNT 


XCHG 




USRRET=PLAD to DRDE; UDRDE to DRHL; 


<•> 001 


343 








XTHL 




UDRDE to TOS; FRRET to DRHL; 


<•> 002 


305 








PUSH 


B 


UDRBCtoTOS; 


<•> 003 


365 








PUSH 


PSW 


UDRPSW&A to TOS; 


<•> 004 


353 








XCHG 




USRRET=PLAD to DRHL; FRRET to DRDE; 


<*> 005 


303 


021 


<*> 




JMP 


FRNTD 


Go load only one field addr 
and length parameter; 


<•> 010 


353 






DASNT 


XCHG 




USRRET=PLAD to DRDE; UDRDE to DRHL; 


<•> 011 


343 








XTHL 




UDRDE to TOS; FRRET to DRHL; 


<•> 012 


305 








PUSH 


B 


UDRBC to TOS; 


<•> 013 


365 








PUSH 


PSW 


UDRPSW&A to TOS; 


<*> 014 


353 








XCHG 




USRRET=PLAD to DRHL; FRRET to DRDE; 


<*> 015 


116 








MOV 


C,M 


FIELD1 addr LOB to SRC; 


<•> 016 


043 








INX 


H 


Incr USRRET=PLAD (+1 DASNT); 


-.-•> 017 


106 








MOV 


B,M 


FIELD1 addr HOB to SRB; 


<*> 020 


043 








INX 


H 


Incr USRRET=PLAD I+2 DASNT); 


<•> 021 


325 






FRNTD 


PUSH 


D 


FRRET to TOS; 


<•> 022 


136 








MOV 


E,M 


FIELD/FIELD2 addr LOB to SRE; 


<»> 023 


043 








INX 


H 


Incr USRRET=PLAD (+3 DASNT; H SASNT); 


<•> 024 


126 








MOV 


D,M 


FIELD/FIELD2 addr HOB to SRD; 


<•> 025 


043 








INX 


H 


Incr USRRET=PLAD (+4 DASNT; 12 SASNT); 


<•> 026 


176 








MOV 


A,M 


Lenqth/Size param to SRA; 


<•> 027 


043 








INX 


H 


lncrUSRRET=PLAD ( + 5 DASNT; +3 SASNT); 


<•> 030 


343 








XTHL 




True USRRET to TOS; FRRET to DRHL; 


<•> 031 


345 








PUSH 


H 


FRRETto TOS; 


<•> 032 


147 








MOV 


H,A 


Length/Size param toSRH; 


<"> 033 


311 








RET 




Return to calling function routine; 


<■ > 034 


343 






DASXR 


XTHL 




UDRHL to TOS; FRRET=FRCOMMAND 
address to TOS; 


<*> 035 


042 


051 


<*> 




SHLD 


DASFC+1 


Store FRCOMMAND address in CALL; 


<*> 040 


341 








POP 


H 


TOS=UDRHL to DRHL clear return; 


<*> 041 


343 








XTHL 




UDRHL to TOS; USRRET=PLAD to DRHL; 


<•> 042 


315 


010 


<"> 




CALL 


DASNT 


Call DASNT to load parameters; 


<•> 045 


032 






DASXL 


LDAX 


D 


Indexed FIELD2 char to SRA; 


<■> 046 


157 








MOV 


L,A 


Move it to SRL; 


<"> 047 


012 








LDAX 


B 


Indexed FIELD1 char to SRA; 


<*> 050 


315 


000 


000 


DASFC 


CALL 


Q'000000' 


Call the execution commands; 


<•> 053 


002 








STAX 


B 


Store result in indexed FIELD1 ; 


<•> 054 


003 








INX 


B 


Incr FIELD1 address index; 


<-> 055 


023 








INX 


D 


Incr FIELD2 address index; 


<*> 056 


045 








DCR 


H 


Decrement length/size; 


<•> 057 


302 


045 


<*> 




JNZ 


DASXL 


Loop until count is zero; 


<•> 062 


341 






FRXIT 


POP 


H 


True USRRET to DRHL; 


<•> 063 


301 








POP 


B 


UDRPSW&A to DRBC; 


<•> 064 


170 








MOV 


A,B 


USRA to SRA; PSW=FRPSW; 


<•> 065 


301 






FRXT2 


POP 


B 


TOS=UDRBCto DRBC; 


<•> 066 


321 








POP 


D 


TOS=UDRDE to DRDE; 


<•> 067 


343 








XTHL 




True USRRET to TOS; TOS=UDRHL to DRHL 


<*> 070 


311 








RET 




Return to user; regs* user regs; 


<•> 071 


315 


034 


<*> 


NCHR 


CALL 


DASXR 


CALL DASXR execution control rtn 
passing address of following; 


<"> 074 


245 








ANA 


L 


Logical AND SRL to SRA; 


<•> 075 


311 








RET 




Return to DASXR; 


<•> 076 


315 


034 


<*> 


OCHR 


CALL 


DASXR 


See NCHR comment at address 071 ; 


<•> 101 


265 








ORA 


L 


Logical OR SRL to SRA; 


<•> 102 


311 








RET 




Return to DASXR; 


<•> 103 


315 


034 


<*> 


XCHR 


CALL 


DASXR 


See NCHR comment at address 071 ; 


<*> 106 


255 








XRA 


L 


Logical XOR SRL to SRA; 


<*> 107 


311 








RET 




Return to DASXR; 


<■> 110 


315 


034 


<•> 


MVCHR 


CALL 


DASXR 


See NCHR comment at address 071 ; 


<•> 113 


175 








MOV 


A,L 


Move SRL to SRA; 


<■> 114 


311 








RET 




Return to DASXR; 


<*> 115 


315 


034 


<*> 


SWCHR 


CALL 


DASXR 


See NCHR comment at address 071; 


<•> 120 


022 








STAX 


D 


SRA to indexed FIELD2 char; 


<•> 121 


175 








MOV 


A,L 


Move SRL to SRA; 


<■> 122 


311 








RET 




Return to DASXR; 


<•> 123 


315 


034 


<*> 


CLCHR 


CALL 


DASXR 


See NCHR comment at address 071 ; 


<•> 126 


275 








CMP 


L 


Compare SRL to SRA; 


<•> 127 


310 








RZ 




Return to DASXR if equal; 


<•> 130 


077 








CMC 




Else reverse inequality flag; 


<•> 131 


341 








POP 


H 


Clear return address by popping; 


<»> 132 


303 


062 


<*> 




JMP 


FRXIT 


Bust out to function exit logic; 



Charles Howerton 

Digital Group Software Systems Inc 

POB 1086 

Arvada CO 80001 



The programming convenience of a com- 
puter system is greatly enhanced by using 
software to extend the functions provided 
by the basic instruction set of the machine. 
Software to accomplish complicated func- 
tions like moving character strings or doing 
data conversions help the user to program 
manipulations of data in an application 
situation. This article is written to describe 
and give the code for a set of utility routines 
for the 8080 which can be used to advantage 
on any system employing this chip. This set 
of BARC utility routines is designed to assist 
the 8080 programmer in developing pro- 
grams which involve the manipulation and 
validation of characters and character 
strings. The acronym "BARC" stands for 
BAsic Resource Capability. Almost all pro- 
grams require these functions to a greater or 
a lesser extent if they accept input or 
generate output in any format other than 
absolute machine codes. 

In all cases these routines are entered 
using an 8080 call instruction and in most 
cases the call instruction is immediately 
followed by a series of parameters which 
identify the field or fields to be acted upon, 
the length of the field or fields and in some 
cases an immediate value which is used in 
the requested function. The exceptions to 
this rule are the single character validation 
functions which require that the argument 
character be loaded into the accumulator 
prior to the call. In all cases (except the 
symbolic move) the user's register contents, 
with the exception of the program counter 



132 



Listing i, continued: 



WARNING 

The BARC routines 
listed here will not work in 
read only memory or in 
write protected memory, 
since they modify program 
code as part of execution. 



and flags, are returned with the same con- 
tents as they held prior to the call; the 
symbolic move routine returns the length 
moved in the accumulator with all other 
registers except the program counter and 
flags containing their original contents. 

These routines all use the stack of the 
user's program and in the worst case require 
14 bytes in the stack including the two bytes 
used by the call which invokes the function 
routine. 

In every case return is made lo the byte 
immediately following the last parameter 
value (if any). The return address generated 
by the call is used as a parameter list pointer 



LEGEND: 

Throughout this narrative and program 
comments certain abbreviations have been 
utilized, hopefully with a high degree of 
consistency. Most of these abbreviations and 
symbols are self explanatory; however, in 
the interest of clarity they are explained 
below. 

A(X) 16 bit address of X. 

DB Data byte, 8 bits, operand is 

value. 
DRXY Double register pair XY. 
DW Data word, 16 bits, operand is 

value. 
HOB High order byte of 16 bit 

address. 
ICV An immediate character value. 

LOB Low order byte of 16 bit address. 

PLAD Parameter list address. 
SIZ The size/length of an operand. 

SRX Single register X. 

TOS Top of stack. 

UDRXY User's double register pair XY 

contents. 
USRRET Return point in the user's 

program. 
USRX User's single register X contents. 
X -» Y Contents of X moved to Y. 
xxx \ 

YYV / Arbitrary instructions. 
zzz ; 
<*> Resident page number of the 

utility routines. 



Split 

Octal 

Address 



<«> 


136 


042 


155 <•> 




SHLD 


SASIC+1 


<*> 


141 


341 






POP 


H 


<•> 


142 


343 






XTHL 




<*> 


143 


315 


000 <•> 




CALL 


SASNT 


<•> 


146 


343 






XTHL 




<"> 


147 


176 






MOV 


A,M 


<*> 


150 


043 






INX 


H 


<*> 


151 


343 






XTHL 




<*> 


152 


157 






MOV 


L,A 


<*> 


153 


032 




SASIL 


LDAX 


D 


<*> 


154 


315 


000 000 


SASIC 


CALL 


Q'000000' 


<•> 


157 


022 






STAX 


D 


<*> 


160 


023 






INX 


D 


<*> 


161 


045 






DCR 


H 


<*> 


162 


302 


153 <•> 




JNZ 


SASIL 


<•> 


165 


303 


062 <• > 




JMP 


FRXIT 


<"> 


170 


315 


135 <«> 


NICH 


CALL 


SASIX 


<*> 


173 


245 






ANA 


L 


<*> 


174 


311 






RET 




<•> 


175 


315 


135 <•:■ 


OICH 


CALL 


SASIX 


<*> 


200 


265 






ORA 


L 


<•> 


201 


311 






RET 




<*> 


202 


315 


135 <•> 


XICH 


CALL 


SASIX 


<*> 


205 


255 






XRA 


L 


<*> 


206 


311 






RET 




<*> 


207 


315 


135 <•> 


MVICH 


CALL 


SASIX 


<*> 


212 


175 






MOV 


A,L 


<*> 


213 


311 






RET 




<*> 


214 


343 




VALFX 


XTHL 




<*> 


215 


042 


227 <•> 




SHLD 


VALFC+1 


<"> 


220 


341 






POP 


H 


<•> 


221 


343 






XTHL 




<*> 


222 


315 


000 <«> 




CALL 


SASNT 


<•> 


225 


032 




VALFL 


LDAX 


D 


<*> 


226 


315 


000 000 


VALFC 


CALL 


Q'000000' 


<•> 


231 


302 


062 <«> 




JNZ 


FRXIT 


<*> 


234 


023 






INX 


D 


<•> 


235 


045 






DCR 


H 


<*> 


236 


302 


225 <*> 




JNZ 


VALFL 


<*> 


241 


303 


062 < ■ > 




JMP 


FRXIT 


<*> 


244 


315 


214 <*> 


VALAS 


CALL 


VALFX 


<•> 


247 


376 


040 


VALAC 


CPI 


Q'040' 


<•> 


251 


310 






RZ 




<•> 


252 


376 


101 


VALAO 


CPI 


Q'ior 


<•> 


254 


330 






RC 




<•> 


255 


376 


132 




CPI 


Q'132' 


<*> 


257 


310 




VALXT 


RZ 




<•> 


260 


320 






RNC 




<•> 


261 


277 






CMP 


A 


<"> 


262 


311 






RET 




<■> 


263 


315 


214 ■ ■ ■ 


VALNS 


CALL 


VALFX 


<*> 


266 


376 


060 


VALNC 


CPI 


Q'060' 


<»> 


270 


330 






RC 




<*> 


271 


376 


071 




CPI 


Q'071' 


<*> 


273 


303 


257 •'■ ■ 




JMP 


VALXT 


<*> 


276 


315 


214 <" ■ 


VALOS 


CALL 


VALFX 


<"> 


301 


376 


060 


VALOC 


CPI 


Q'060' 


<*> 


303 


330 






RC 




<•> 


304 


376 


067 




CPI 


Q'067' 


<■ > 


306 


303 


257 <■ ■ 




JMP 


VALXT 


<*> 


311 


315 


214 ■ ' ■ 


VALXS 


CALL 


VALFX 


<* - 


314 


315 


247 ■ • - 


VALXC 


CALL 


VALAC 


<* - 


317 


310 






RZ 




<* 


320 


315 


266 ■' ■ 




CALL 


VALNC 


<-.- 


323 


311 






RET 




<*> 


324 


315 


214 - ■ ■ 


VALHS 


CALL 


VALFX 


<*> 


327 


315 


266 < " ■ 


VALHC 


CALL 


VALNC 


<•> 


332 


310 






RZ 




-'• > 


333 


376 


101 




CPI 


Q'ior 


<*> 


335 


330 






RC 




<' > 


336 


376 


106 




CPI 


Q'106' 


<*> 


340 


303 


257 <• ■ 




JMP 


VALXT 


< * > 


343 


343 




MVSYM 


XTHL 




<*> 


344 


315 


010 < • ■ 




CALL 


DASNT 


<*> 


347 


343 






XTHL 




<* - 


350 


176 






MOV 


A.M 




351 


043 






INX 


H 




352 


343 






XTHL 




<*> 


353 


157 






MOV 


L,A 


<*> 


354 


345 






PUSH 


H 


<*> 


355 


032 




MVSYL 


LDAX 


D 


<*> 


356 


275 






CMP 


L 


<*> 


357 


312 


371 <*> 




JZ 


MVSYX 


<•> 


362 


002 






STAX 


B 


<*> 


363 


003 






INX 


B 


<*> 


364 


023 






INX 


D 


<*> 


365 


045 






DCR 


H 


<*> 


366 


302 


355 - • ■ 




JNZ 


MVSYL 


<*> 


371 


361 




MVSYX 


POP 


PSW 


<*> 


372 


224 






SUB 


H 


<*> 


373 


341 






POP 


H 


<*> 


374 


301 






POP 


B 


<*> 


375 


303 


065 <• ■ 




JMP 


FRXT2 



Commentary 



UDRHL to TOS; FRRET = FRCOMMAND 

address to TOS; 
Store FRCOMMAND address in CALL; 
TOS=UDRHL to DRHL clear return; 
UDRHL to TOS;USRRET-PLAD to DRHL; 
Call SASNT to load parameters; 
USRRET = PLAD+3 to DRHL; FDRHL to TOS; 
Immediate character value to SRL; 
Incr USRRET=PLAD (+4 immed group); 
True USRRET to TOS; FDRHL to DRHL; 
Move ICV to SRL; 
Indexed FIELD char to SRA; 
CALL the execution commands; 
Store result in indexed FIELD; 
Incr FIELD address index; 
Decrement length/size; 
Loop until count is zero; 
Jump to funct routine exit logic; 

CALL SASIX execution control rtn 

passing address of following; 
Logical AND SRL=ICV to SRA; 
Return to SASIX; 

See NICH comment at address 1 70; 
Logical OR SRL to SRA; 
Return to the SASIX routine; 

See NICH comment at address 170; 
Logical XOR SRL to SRA; 
Return to SASIX; 

See NICH comment at address 170; 
Move SRL to SRA; 
Return to SASIX; 

UDRHL to TOS; FRRET = FRCOMMAND 

address to DRHL; 
Store FRCOMMAND address in CALL; 
TOS = UDRHLto DRHL clear return; 
UDRHL to TOS; USRRET=PLAD to DRHL; 
Call SASNT to load parameters; 
Indexed FIELD character to SRA; 
CALL the execution commands; 
If character not valid exit; 
Incr FIELD address index; 
Decrement length/size; 
Loop until count is zero; 
Jump to exit all chars valid; 

CALL VALFX execution control rtn 

passing address of following; 
Is SRA a space? 
Return to VALFX if equal; 
Is SRA an 'A'? 

Return to VALFX if less than 'A'; 
Is SRA a 'Z7 

Return to VALFX if equal; 
Return to VALFX if greater; 
Compare SRA to SRA force Z=1 ; 
Return to VALFX char is valid; 
See VALAS comment at addr 244; 
Is SRA a '07 
Return to VALFX if less; 
Is SRA a '9'? 
Jump to validation exit logic; 

See VALAS comment at addr 244; 

Is SRA a 'O'? 

Return to VALFX if less; 

Is SRA a '77 

Jump to validation exit logic; 

See VALAS comment at addr 244; 
Call VALAC utility routine; 
Return to VALFX if alphabetic- 
Call VALNC utility routine; 
Return to VALFX; 

See VALAS comment at addr 244; 

Call VALNC utility routine; 

Return to VALFX if numeric; 

Is SRA an 'A'? 

Return to VALFX if less; 

Is SRA an 'F? 

Jump to validation exit logic; 

UDRHL to TOS;USRRET=PLAD to DRHL, 

Call DASNT function entry rtn; 

USRRET = PLAD+5 to DRHL; FDRHL to TOS; 

Move stop char to SRA; 

Incr USRRET-TRUERET=PLAD*6; 

True USRRET toTOS; FRDHL to DRHL; 

Move stop char from SRA to SRL; 

DRHL to TOS for length moved calc; 

Indexed FIELD2 char to SRA; 

Compare it to stop chat ; 

If equal go to MVSYM exit logic; 

Else store in indexed FIELD1 ; 

Incr FIELD1 address index; 

Incr FIELD2 address index; 

Decrement length/size; 

Loop until count is zero; 

DRHL from 354 is popped SRAHen; 

Subtr remaining len = moved len; 

True USRRET to DRHL; 

UDRPSW&A discarded by this pop; 

Exit skipping SRA restore; 



133 







; 









and is incremented by the function routines 
to effect a proper return upon completion of 
the requested function. 

In addition to the specific function rou- 
tines there are several support routines 
which are used by the function routines for 
entry and exit logic. These support routines 
can be used by the programmer in de- 
veloping his or her own coded function 



Name Address Function 

CLCHR <•> 123 Compare FIELD1 contents to FIELD2 contents; 

DASNT <*> 010 Double address plus size function entry routine; 

DASXR <*> 034 Double address plus size function execution support routine; 

FRXIT <*> 062 Function routine exit logic; 

MVCHR <•> 110 Move FIELD2 contents to FIELD1; 

MVICH <*> 207 Fill FIELD with immediate character value; 

MVSYM <"> 343 Move FIELD2 contents to Fl ELD 1 terminating on stop character; 

NCHR <*> 071 Logical AND MASK to FIELD; 

NICH <*> 170 Logical AND immediate character ualue to all bytes in FIELD; 

OCHR <*> 076 Logical OR MASK to FIELD; 

OICH <*> 175 Logical OR immediate character value to all bytes in FIELD; 

SASIX <*> 135 Single address, size and immed function execution support routine; 

SASNT <*> 000 Single address plus size function entry routine; 

SWCHR <•> 115 Swap contents of F I ELD1 with contents of FIELD2; 

VALAC <*> 247 Validate alphabetic character; 

VALAS <*> 244 Validate alphabetic string of characters; 

VALFX <*> 214 Validate string function execution support routine; 

VALHC <*> 327 Validate hexadecimal character; 

VALHS <*> 324 Validate hexadecimal string of characters; 

VALNC <*> 266 Validate numeric character; 

VALNS <*> 263 Validate numeric string of characters; 

VALOC <•> 301 Validate octal character; 

VALOS <*> 276 Validate octal string of characters; 

VALXC <*> 314 Validate alphanumeric character; 

VALXS <*> 311 Validate alphanumeric string of characters; 

VALXT <*> 257 Validate string function exit logic; 

XCHR <*> 103 Logical exclusive OR MASK to FIELD; 

XICH <*> 202 Logical exclusive OR immediate character value to all bytes in FIELD; 



routines provided that entry to the user 
coded function routines is identical in form 
to the function routine entry logic used in 
this package. 

Whenever one sets out to design and 
develop a piece of software it is extremely 
important that the design parameters be 
defined in advance and that the tradeoffs be 
understood and evaluated. In the case of the 
BARC 8080 character and string manipula- 
tion utility routines, memory space was 
judged to be of greater importance than 
execution time. The design parameters for 
this software package were: 

1. To pack as many functions as possible 
in as little space as possible regardless 
of the impact upon execution times. 

2. Not to use over 256 bytes. 

3. To provide as much flexibility as 
possible within the requirements of 1 
and 2. 

4. To provide a high degree of user 
convenience. 

What follows is a description of the 
function and purpose of every usable func- 
tion and support routine in the package and 
how to use each. The routines are described 
in alphabetical order by name. Listing 1 
gives the code for all the routines, and table 
1 summarizes the routines and entry points. 






Table I : Alphabetical list- 
ing of BARC utility rou- 
tines and their entry 
points. The low order ad- 
dresses refer to listing 7. 



CLCHR; Compare Logical Characters 

The CLCHR utility routine compares 
two character strings byte by byte from left 
to right and terminates upon encountering 
the first inequality. The condition flags are 
set according to the relationship of the 
contents of FIELD1 to the contents of 
FIELD2. The possible combinations are: 

FIELD1 = FIELD2 Z=1, CY=0 
FIELD1 < FIELD2 Z=0, CY=0 
FIELD1 > FIELD2 Z=0, CY=1 

Both strings must be of the same length 
and may be up to 256 bytes long. The 
calling sequence for this utility routine is: 



CALL CLCHR 
DW A(FIELDI) 
DW AIFIELD2) 
DB SIZ 



Call CLCHR utility routine; 

FIELD 1 address; 

FIELD2 address; 

Length of fields where means a length of 256; 



DASNT: Double Address plus Size, 
Function Entry Support Routine 

The DASNT support routine is used to 
save the user's register contents and load the 
parameters following the original user's util- 
ity routine call. This routine is called by the 
function execution routine which was called 
by the user. The calling sequence for this 
support routine is: 



XTHL 
CALL 



UDRHLtoTOS; USRRETto DRHL; 
DASNT Call DASNT routine; 



Upon return from the DASNT support 
routine the user's registers have been saved 
on the stack and the working registers 
contain the following: 

DRBC = First address parameter following 
user's call. 

DRDE = Second address parameter follow- 
ing user's call. 

SRH = Length parameter. 

TOS = True user's return point to byte 
following parameters. 

Exit from a function routine which has 
used DASNT should only be effected by 
jumping to the FRXIT routine. 



134 






If a premature or abnormal termina- 
tion of the loop is required as in the 
CLCHR function routine it should 
take the following form: 

USRTN xxx 

CALL DASXR 

yyy 



vvv 

R(cond) 

zzz 

zzz 

POP 
JMP 



DASXR: Double Address plus Size, 
Function Execution Support Routine 

The DASXR support routine is used as a 
generalized execution routine for the vari- 
ous functions which require two address 
parameters and a size parameter, operate on 
the data from left to right and replace the 
contents of the first operand with the result. 
(Note: Both fields must be of the same 
length and may be up to 256 bytes long.) 
DASXR simply controls the execution of 
the function by performing the house- 
keeping and looping involved in controlling 
the execution. DASXR uses DASNT as its 
entry logic to preserve the contents of the 
user registers and to load the parameter 
values into the working registers. On each 
iteration of the loop in DASXR it loads the 
next byte of FIELD2 into SRL and the next 
byte of FIELD1 into SRA (the accumula- 
tor) before turning control over to the logic 
which will operate on the data. DASXR 
increments the addresses of the fields and 
loops until the count is consumed or until 
the calling program terminates its operation. 
Exit from DASXR is through the FRXIT 
exit logic which restores the user registers, 
with the exception of the program counter 
and flags, to their original contents. Here's 
an example of the use of DASXR as the 
controlling logic for an addition routine 
where the operands are stored least signifi- 
cant byte first: 



1. In line coding in user program 

CALL USRTN Call user written ADD logic; 

DW A(FIELD1) Address of augend and sum; 

DW AIFIELD2) Address of addend; 

DB SIZ Length of fields where means a length of 256; 

2. Subroutine in user program called by 
1 above 

USRTN ORA A Clear carry; 

CALL DASXR Call DASXR support routine; 

ADC L Add SRL and CARRY to accumulator; 

DAA (Decimal adjust only if data is decimal); 

RET Return to DASXR support routine; 



H 
FRXIT 



Setup instructions, if any; 
Call DASXR support routine; 
Function execution instructions 

as required; 
Conditional return to DASXR to continue; 
Instructions to be executed if the condition 

is not met; 
Clear return address to DASXR from stack; 
Jump to the function exit logic for 

abnormal or premature return; 



The calls to DASXR in 2 and 3 are not 
used as calls to which a return will be made. 
They are used to pass the address of the 
function execution instructions which fol- 
low the calls to the DASXR support rou- 
tine. DASXR stores the passed address of 
the function execution instructions in the 
address portion of a call instruction within 
itself and executes the call within itself once 
for each iteration of the control loop. 

It is very important to realize that the 
call to DASXR cannot be inline in the 
coding but must be called by the logic 
which is called by the inline parameter 
passing call if it is to function correctly. 



FRXIT: Function Routine Exit Logic 

The FRXIT routine is used to restore the 
contents of the original user's registers and 
to return to the proper address location, 
following the parameters of the original 
user's call. FRXIT should always be used 
when exiting from a function routine which 
utilized the DASNT or SASNT function 
entry routines. This logic is entered by 
jumping to it unconditionally or condi- 
tionally when it is desired to return to the 
original caller. No other commands are 
required prior to the jump to prime this 
routine. All registers except the program 
counter and flags are restored to their 
original contents prior to returning; the flags 
are returned to the caller as set by the 
function execution routine. 



MVICH: Move Character Immediate 
(Character Fill) 

The MVICH utility routine will move a 
specified byte value known as the immedi- 
ate character value (ICV), to every byte 
location in a specified field. The specified 
field may be up to 256 bytes long. The 
calling sequence for this utility routine is: 

CALL MVICH Call MVICH utility routine; 

DW A(FIELD) Address of the receiving field; 

DB SIZ Length of the field where means a length of 256; 

DB ICV Immediate character value; 

MVCHR: Move Characters 

The MVCHR utility routine will move a 
character string up to 256 bytes long from 
one location to another. The format of the 
calling sequence for this utility routine is: 

CALL MVCHR Call MVCHR utility routine; 

DW A(DESTIN) Address of the destination field; 

DW A(SOURCE) Address of the source field; 

DB SIZ Length of the fields where is the length code for 256; 



135 



MVSYM: Symbolic Move 

The MVSYM utility routine will move a 
character string up to 256 bytes long from 
one location to another and stop moving 
when one of two conditions is met: 

1. A character from the sending area is 
encountered which is equal in value 
to the ICV known as the stop charac- 
ter (Note: The stop character is not 
moved). 

or 

2. The entire string has been moved 
according to the specified size and no 
character was found which was equal 
in value to the ICV stop character. 

In either event when return is made to 
the user the accumulator (SRA) contains a 
count of the characters moved. Caution 
must be exercised when strings of length 
256 are moved using MVSYM because if the 
first character in the string is a stop charac- 
ter, the length moved will be zero and when 
256 characters are moved without encoun- 
tering a stop character, the length moved 
will also be zero since the size value for 256 
is zero; therefore, whenever the length 
moved for a field which is 256 bytes long is 
zero, test the first character in the source 
field to determine if it is a stop character. If 
it is, then the length moved is really zero, 
otherwise the length moved is 256. The 
calling sequence for the MVSYM utility 
routine is: 



OCHR: Logical OR Character Strings 

The OCHR utility routine will logically 
OR a character string called MASK to 
another character string called the FIELD; 
the result will replace the contents of the 
FIELD. Both strings must be of the same 
length and may be up to 256 bytes long. 
The calling sequence for this utility routine 
is: 

CALL OCHR Call OCHR utility routine; 

DW A(FIELD) Address of the FIELD; 

DW A(MASK) Address of the MASK; 

DB SIZ Length of the fields where means a length of 256; 



OICH: Logical OR Characters Immediate 

The OICH utility routine will logically 
OR a specified byte value known as the 
immediate character value (ICV) to every 
byte location in a specified FIELD. The 
specified FIELD may be up to 256 bytes 
long. The calling sequence for this utility 
routine is: 

CALL OICH Call OICH utility routine; 

DW A(FIELD) Address of the FIELD; 

DB SIZ Length of the FIELD where means a length of 256; 

DB ICV Immediate character value; 



CALL MVSYM 

DW A(DESTIN) 

DW A(SOURCE) 

DB SIZ 



DB 



ICV 



Call MVSYM utility routine; 

Address of the destination field; 

Address of the source field; 

Max length for the move where means a length of 256; 

The immediate character value is the stop character; 



NCHR: Logical AND Character Strings 

The NCHR utility routine will logically 
AND a character string called MASK to 
another character string known as the 
FIELD; the result will replace the contents 
of FIELD. Both strings must be of the same 
length, which may be up to 256 bytes. The 
calling sequence for this utility routine is: 

CALL NCHR Call NCHR utility routine; 

DW A(FIELD) Address of the field string; 

DW A(MASK) Address of the mask string; 

DB SIZ Length of the fields where means a length of 256; 



NICH: Logical AND Characters Immediate 

The NICH utility routine will logically 
AND a specified byte value known as the 
immediate character value (ICV) to every 
byte location in a specified FIELD. The 
specified FIELD may be up to 256 bytes 
long. The calling sequence for this utility 
routine is: 

CALL NICH Call NICH utility routine; 

DW A(FIELD) Address of FIELD; 

DB SIZ Length of FIELD; 

DB ICV Immediate character value; 



SASIX: Single Address, Size and Immediate 
Character, Function Execution Support 
Routine 

The SASIX support routine is used as a 
generalized execution routine for the vari- 
ous functions which require one address 
parameter, a size parameter for one to 256 
bytes, and an immediate character value 
which is used to operate upon the contents 
of the field, operate on the data from left to 
right and replace the contents of the field 
with the result. SASIX does not actually 
perform the required function; that is the 
responsibility of the programmer who is 
using SASIX. SASIX simply controls the 
execution of the function by performing the 
housekeeping and looping involved in con- 
trolling the execution. SASIX uses SASNT 
as its entry logic to preserve the contents of 
the user registers and to load the parameters 
into the working registers. The immediate 
character value is loaded into SRL and 
retained there until altered by the program- 
mer. On each iteration of the loop in SASIX 
it loads the next byte of the field into 
accumulator before turning control over to 
the logic which will operate on the data. 
SASIX increments the address of the field 
and loops until the count is consumed or 
until the programmer busts out of its 
control. Exit from SASIX is through the 
FRXIT exit logic which restores the user 
registers with the exception of the program 
counter and flags to their original contents. 
An example of the use of SASIX as the 
controlling logic for a routine which trans- 
lates all the spaces in a field to zeros is as 
follows: 



136 



s/ 


VSIX, continued 




1. 


Inline 


coding in user program: 




CALL 


USRTN 


Call user written logic; 




DW 


A(FIELD) 


Address of field to be translated; 




DB 


SIZ 


Length of field to be translated; 




DB 


' ' 


Immediate character value of a space; 


2. 


Subroutine in user 


program called by 



the above sequence: 
USRTN 



CALL 


SASIX 


CMP 


L 


RNZ 




MVI 


A,'0' 



RET 

Should an abnormal or premature 
return be required, for example, in a 
situation such as in 2 above where it 
is desired to translate only the lead- 
ing spaces into zeros and then stop, it 
should take the following form: 

USRTN 



Call SASIX support routine; 
Compare immediate character value (in SRL) to 
Return to SASIX if not equal; 
Move immediate value of character '0' to accum 
occurrence of the immediate character value 
Return to SASIX; 



CALL 


SASIX 


CMP 


L 


MVI 


A/0' 



RZ 

POP 

JMP 



H 
FRXIT 



Setup instructions, if any; 

Call SASIX utility routine; 

Compare SRL to accumulator; 

Move a character zero to accumulator to replace 

immediate character value; 
Return to SASIX if accumulator is equal to the 

immediate character value; 
Else clear return to SASIX from stack; 
Jump to exit logic before count is zero; 



accumulator; 
ulator, replacing 



The calls to SASIX above are not used as 
calls to which a return will be made. They 
are used to pass the address of the function 
execution instructions which follow the 
calls to the SASIX support routine. SASIX 
stores the passed address of the function 
execution instructions in the address por- 
tion of a call instruction within itself and 
executes the call within itself once for each 
iteration of the control loop. 

It is very important to realize that the 
call to SASIX cannot be inline in the coding 
but must be called by the logic which is 
called by the inline parameter passing call if 
it is to function correctly. 



SASNT: Single Address Plus Size, 
Function Entry Routine 

The SASNT routine is used to save the j^fl 
user register contents and load the param- 
eters following the original user's utility 
routine call. This routine is called by the 
function execution routine which was called 
by the user. The calling sequence for this 
support routine is: 

XTHL UDRHL to TOS; USRRET to DRHL; 

CALL SASNT Call SASNT support routine; 

Upon return from the SASNT support 
routine the user's register contents have 
been saved on the stack and the working 
registers contain the following: 

DRDE = Address parameter following user's call; 

SRH = Length or size parameter; 

TOS = True user's return point to byte following parameters; 

Exit from a function execution routine 
which has used SASNT should only be 
effected by jumping to the FRXIT routine 
which is described above. 

SWCHR: Swap Character Strings 

The SWCHR utility routine will swap 
two character strings. The contents of 
FIELD1 replace the contents of FIELD2 
while the contents of FIELD2 are replacing 
the contents of FIELD1. This routine can 
be used when writing internal sort routines. 
Both strings must be of the same length and 
may be up to 256 bytes long. The calling 
sequence for the SWCHR routine is: 

CALL SWCHR Call SWCHR utility routine; 

DW AlFIELDD Address of one of the fields to be swapped; 

DW AIFIELD2) Address of the other field to be swapped; 

DB SIZ Length of the fields where means a length of 256; 



VALAC: Validate Alphabetic Character 

The VALAC utility routine tests the 
character in the accumulator to determine if 
it is an alphabetic character or a space. 
Upon return, if the ZERO flag is equal to a 
1, the character is valid as tested; if the 
ZERO flag is 0, it is invalid. The calling 
sequence for this routine is: 

CALL VALAC Call VALAC utility routine; 



VALAS: Validate Alphabetic 
Character String 

The VALAS routine tests the characters 
in a specified string to determine if they are 
all alphabetic characters or spaces. Examina- 
tion proceeds from left to right one byte at 
a time; the routine terminates if an invalid 
character is found. Upon return, the Z flag 
is 1, all characters in the string satisfied the 
validation requirements; otherwise the Z 
flag is 0. The calling sequence for this utility 
routine is: 



CALL VALAS 
DW A(FIELD) 
DB SIZ 



Call VALAS utility routine; 
Address of the string to be tested; 
Length of the field to be tested; 



137 



VALFX: Validate String, 

Function Execution Support Routine 

The VALFX support routine is used as a 
generalized execution routine for the vari- 
ous string validation functions. These func- 
tions require a single address parameter for 
the field to be validated and a size param- 
eter which specifies the length of the field 
which may be up to 256 bytes long. The 
contents of the field are not changed. 
VALFX does not actually perform the 
required function, for that is the responsi- 
bility of the programmer who is using 
VALFX. VALFX simply supplies the 
characters in the field one at a time, starting 
with the lefthand end, in the accumulator 
and controls the execution of the function 
by performing the housekeeping and loop- 
ing involved in controlling the execution. 
VALFX increments the address of the field 
and loops until the count is consumed or 
the character which is invalid to the test is 
encountered. If the programmer who has 
coded the test logic returns to VALFX with 
a Z flag value of 1, VALFX will supply the 
next character in the string; otherwise it 
terminates execution and exits via FRXIT 
to the calling point with a Z flag value of 0. 
If all characters in the string were valid, 
return is made to the calling point with the 
Z flag equal to 1 via FRXIT. VALFX uses 
SASNT as its entry logic to preserve the 
contents of the user registers and to load the 
parameters into the working registers; 
FRXIT is used as the exit logic to restore 
the user registers, with the exception of the 
program counter and flags, to their original 
contents. An example of the use of VALFX 
as the controlling logic for a routine which 
validates that ali of the characters in a field 
are letters of the Greek alphabet, as imple- 
mented on the Digital Group System, would 
be as follows: 

1. Inline coding in user program: 



USRTN 



CALL 


VALFX 


CPI 


'a' 


RC 




CPI 


'CI' 


RZ 




RNC 




CMP 


A 


RET 






Call VALFX function execution routine; 
Compare accumulator to a Greek alpha; 
Return if accumulator less; 
Compare accumulator to an omega, end of Gree 
Return if accumulator equal to omega, valid; 
Return if accumulator greater than omega, inval 
Force Z=1, if 'a' <= accumulator <= 'SI'; valid; 
Return to VALFX with valid conditions; 



Note: For range of value tests like this one 
the instructions marked with asterisks (*) 
above may be replaced by the following 
instruction which jumps to an identical 
instruction sequence within the validation 
utility routines: 

JMP VALXT Jump to the validation test logic; 

3. If it were desired to determine that 
the field to be validated contained 
only Greek alphas and omegas and 
nothing else, the subroutine in the 
user program called by 1 above 
would be as follows: 







USRTN 



CALL 


VALFX 


CPI 


'a' 


RZ 




CPI 


'«' 


RET 





Call VALFX function execution routine; 
Compare accumulator to an alpha; 
Return if equal; 

Compare accumulator to an omega; 
Return to VALFX with conditions set; 



The preceding calls to VALFX are not 
used as calls to which a return will be made. 
They are used to pass the address of the 
function execution instructions which fol- 
low the calls to the VALFX support rou- 
tine. VALFX stores the passed address of 
the function execution instructions in the 
address portion of a call instruction within 
itself and executes that call once for each 
iteration of the control loop. 

It is very important to realize that the 
call to VALFX cannot be inline in the 
coding but must be called by the logic 
which is called by the inline parameter 
passing CALL if it is to function correctly. 




CALL USRTN Call user written logic; 

DW A(FIELD) Address of field to be validated; 

DB SIZ Length of field to be validated where means a length of 256; 

Subroutine in user program called by 
1 above: 



VALHC: Validate Hexadecimal 
Digit Character 

The VALHC routine tests the character 
in the accumulator to determine if it is one 
of the 16 characters (0 to 9 or A to F) 
which are used to represent radix 16 (hexa- 
decimal) digits. Upon return, if the Z flag is 
1, the character in the accumulator is a 
hexadecimal digit; otherwise Z is 0. The 
calling sequence for this utility routine is: 

CALL VALHC Call VALHC utility routine; 



VALHS: Validate Hexadecimal 
Digit String 

The VALHS routine tests the characters 
in a specified string to determine if they are 
all valid hexadecimal digits. Examination 
proceeds from left to right one byte at a 
time; the routine terminates if an invalid 
character is found. Upon return, if the Z 
flag is 1, ali characters in the string were 
hexadecimal digits; otherwise the Z flag is 0. 
The calling sequence for this utility routine 
is: 

CALL VALHS Call VALHS utility routine; 

DW A(FIELD) Address of the field to be validated; 

DB SIZ Length of the field where means a length of 256; 



138 



VALNC: Validate Numeric Character 

The VALNC routine tests the character 
in the accumulator to determine if it is one 
of the digits in the decimal numbering 
system. Upon return, if the 2 flag is 1, the 
character in the accumulator is one of the 
digits through 9, otherwise the Z flag is 0. 
The calling sequence for this utility routine 
is: 

CALL VALNC Call VALNC utility routine; 



VALNS: Validate Numeric String 

The VALNS routine tests the characters 
in a specified string to determine if they are 
all valid decimal digits. Examination 
proceeds from left to right one byte at a 
time; the routine terminates if an invalid 
character is found. Upon return, if the Z 
flag is 1, all of the characters in the field 
were valid decimal digits; otherwise the Z 
flag is 0. The calling sequence for this utility 
routine is: 



VALXS: Validate Alphanumeric String 

The VALXS routine tests the characters 
in a specified string to determine if they are 
all alphabetics, numerics or spaces. Exam- 
ination proceeds from left to right one byte 
at a time; the routine terminates if an 
invalid character is encountered. Upon re- 
turn, if the Z flag is equal to 1, all of the 
characters in the string satisfied the test 
conditions; otherwise Z is set to 0. The 
calling sequence for this utility routine is: 

CALL VALXS Call VALXS utility routine; 

DW A(FIELD) Address of the field to be validated; 



DB 



SIZ 



Length of the field where means a length of 256; 




CALL VALNS Call VALNS utility routine; 

DW A(FIELD) Address of the field to be validated; 

DB SIZ Length of the field where means a value of 256; 



VALOC: Validate Octal Character 

The VALOC routine tests the character 
in the accumulator to determine if it is one 
of the digits in the octal numbering system. 
Upon return, if the Z flag is 1, the character 
in the accumulator is a valid octal digit; 
otherwise Z is 0. The calling sequence for 
this utility routine is: 

CALL VALOC Call VALOC utility routine; 



VALXT: Validate Test Function 
Exit Logic 

The VALXT logic is used to set the 
condition codes when a validation test is 
testing for a closed range of values. This 
routine is entered by a jump command 
immediately following the upper limit com- 
pare, assuming of course that the upper 
limit is tested last. VALXT forces the Z flag 
to have a value of 1 when the tested 
character falls within the range. See the 
example given in the VALFX routine 
description. 



VALOS: Validate Octal String 

The VALOS routine tests the characters 
in a specified string to determine if they are 
all valid octal digits. Examination proceeds 
from left to right one byte at a time; the 
routine terminates if an invalid character is 
found. Upon return, if the Z flag is 1, all 
characters in the string were found to be 
valid octal digits; otherwise Z is set to 0. 
The calling sequence for this utility routine 
is: 



XCHR: Logical Exclusive OR Characters 

The XCHR utility routine will logically 
exclusive OR a character string known as 
the MASK to another character string 
known as the FIELD; the result will replace 
the contents of the field. Both strings must 
be of the same length and may be up to 256 
bytes long. The calling sequence for this 
utility routine is: 



CALL 


XCHR 


DW 


A(FIELD) 


DW 


A(MASK) 


DB 


SIZ 



Call XCHR utility routine; 

Address of the FIELD and the result; 

Address of the MASK string; 

Length of the fields where means a length of 256; 



CALL 


VALOS 


DW 


AIFIELD 


DB 


SIZ 



Call VALOS utility routine; 

Address of the field to be validated; 

Length of the field where means a length of 256; 



VALXC: Validate Alphanumeric Character 

The VALXC routine tests the character 
in the accumulator to determine if it is one 
of the characters A to Z, to 9, or space. 
Upon return, if the Z flag is equal to 1, the 
character in the accumulator satisfied the 
validity requirements; otherwise Z is set to 
0. The calling sequence for this utility 
routine is: 

CALL VALXC Call VALXC utility routine; 



XICH: Logical Exclusive OR 
Characters Immediate 

The XICH utility routine will logically 
exclusive OR a specified byte value known 
as the immediate character value (ICV) to 
every byte location in a specified field. The 
specified field may be up to 256 bytes long. 
The calling sequence for this utility routine 
is: 

CALL XICH Call XICH utility routine; 

DW AIFIELD) Address of the field; 

DB SIZ Length of the field where means a length of 256; 

DB ICV Immediate character value; ■ 



139 



Computeritis: the infec- 
tion of the imagination 
with ideas about "what 
neat things could be done 
with a computer if only I 
had access." 



At first, personal comput- 
ing people were very tech- 
nical types... now we find 
a sprinkling of lawyers, 
doctors, kids, retirees, art 
teachers, tavern owners, 
and others. 



Continued from page 4 

were nearly all very technical types- engi- 
neers, programmers, and electronics buffs. 
But times are changing very rapidly in 
personal computing. Now we find a sprin- 
kling of lawyers, doctors, kids, retirees, art 
teachers, and tavern owners. Less and less 
technical expertise is needed. In fact, with 
computer stores ready to help and with 
assembled kits readily available, one can get 
by with no hardware expertise. And we all 
know that BASIC (the programming lan- 
guage most widely available with personal 
computers) has been taught widely in high 
schools— so very little in the way of prior 
background is needed. Rather, what's 
needed is a little bread and a lot of curiosity 
about one of the most curious of mankind's 
inventions. 

Why does an individual buy his or her 
own computer? I think there are three 
primary reasons: (1) he or she has a specific 
application that he or she wants to imple- 
ment; (2) he or she is curious and wants to 
learn about computers; and, (3) his or her 
future job security may depend on his or her 
knowing. about computers. 

Among the people wanting to implement 
a specific application are many small, usually 
one-person, businesses. There is a sprinkling 
of people with really innovative applications 
such as devices to provide assistance to a 
handicapped individual. Among those who 
want to learn about computers are the 
naturally very curious people who in the 
past would have pursued other electronics- 
oriented hobbies such as ham radio. There 
are a surprisingly large number of people 
who can greatly increase their job security 
with a little knowledge of computers even 
people in fields seemingly not related to 
computers. 

Owning the computer does not, by itself, 
provide a person with all that's needed to 
learn about computers. There is a major 
educational process that must be "endured." 
The needed information can be gleaned from 
many sources without resorting to formal 
education: books, magazines, and, through 
clubs and conventions, other people. 

One of the primary means of obtaining 
information has been computer clubs. There 
are nearly 150 computer clubs in the United 
States and a few in Canada and other 
countries. Club sizes vary from a handful to 
Southern California Computer Society's 
more than 5,000 members. These clubs are 
not affiliated in any way with one another 
except that a few clubs are regional and have 
several local chapters. 

The primary activity of most computer 



clubs is the regular meeting. Typically, a 
club meets with a frequency of from every 
two weeks to once a month. The object of a 
meeting may simply be the informal ex- 
change of information by club members. 
There may be a presentation by a guest 
speaker, a demonstration of a product or a 
project, or a workshop on some particular 
subject. It is not unusual for several people 
to show up unexpectedly with computer 
projects to show. Whatever the main objec- 
tive, some side activities always take place: 
Individuals share their experiences and 
insights - usually with enthusiasm reminis- 
cent of a revival testimonial. 

Many clubs publish newsletters which are 
avidly read by the club members. In fact, 
some of the newsletters are so good that 
they have many subscribers outside the 
club's primary geographic area. The news- 
letters contain articles on the activities of 
the club, information on new products, 
schematics for new widgets, program listings, 
experiences of club members with various 
products, and a wealth of other information 
wanted by personal computing enthusiasts. 
Although the newsletters vary in production 
quality from computer listings all the way to 
glossy magazine format, a typical newsletter 
is a few Xeroxed pages. 

Clubs are beginning to exchange news- 
letters which may bring about improved 
communication and some coordination of 
activities among clubs. A big question arises 
as to whether or not a national federation of 
clubs will form. On one hand, a national 
federation could benefit its members by 
providing publications, improved informa- 
tion exchange, sponsorship of conferences, 
encouragement of product standards, soft- 
ware exchange, and protection of its mem- 
bers in dealing with product suppliers. On 
the other hand, many people believe that a 
formal organization would be counter- 
productive to the goal of most computer 
clubs; namely, the free exchange of informa- 
tion for the benefit of the members. In fact, 
some clubs, even very large clubs, elect no 
officers, collect no dues, and claim no 
members. The newsletter is funded by 
passing a hat when the treasury gets low. 

The personal computing movement is 
held together nationally by the magazines. 
There are a surprising number of high 
quality publications. Heading the list is 
BYTE which not only publishes a wide 
variety of technical articles of interest to 
personal computing folks, but also provides 
a wide assortment ol other goodies such as 
new product announcements, book reviews, 
and news coverage of personal computing 
conferences. Among several other publica- 



140 



tions, each has its own unique orientation. 
Interface Age, a general hobbyist publica- 
tion, started as the newsletter of the South- 
ern California Computer Society, but is now 
published independently. The stated mission 
of Dr Dobb's journal of Calisthenics and 
Orthodontia is to foster the free exchange of 
software. One has only to look at the 
creation of Tiny BASIC to realize the 
incredible success that Dr Dobb's has had in 
accomplishing its goal. David Ahl's Creative 
Computing is oriented toward the use of 
computer games by kids as an educational 
vehicle. People's Computer Company is 
published in newsletter format, is largely 
oriented towards kids, but has significant 
personal computing coverage. Several other 
established publications such as Popular 
Electronics and Radio Electronics feature 
major sections devoted to personal 
computing. 

Any discussion of the personal computing 
movement would not be complete without 
mention of the major conferences. The first 
major conference was the MITS World Altair 
Convention held one weekend in March 
1976 in Albuquerque NM. Although it was 
supposedly an Altair users' conference, when 
one wandered around the lobby of the hotel, 
the feeling of a big computer club meeting 



Owning a computer does not by itself provide a per- 
son with all that's needed to learn about computers. 
There is a major educational process that must be 
"endured" in order to reap the rewards of computing 
in one's personal life. 



was very strong; and the fact that MITS was 
the organizer was really incidental. In atten- 
dance were nearly 1,000 people from across 
the country with a few international visitors. 

The next major milestone was Personal 
Computing 76 held during August 1976 in 
Atlantic City NJ. The conference was or- 
ganized almost single hancledly by John 
Dilks, with major contributions provided by 
Dave Jones and Jim Main. The conference 
started as a project of a ham radio club but 
soon outgrew all expectations, probably 
simply because a conference was needed. 
The very successful conference drew 88 
exhibitors with 1 1 booths and nearly 5,000 
attendees. 

Several conferences will probably be held 
over the next year. One "must" coming 
event for personal computing enthusiasts is 
the 1977 National Computer Conference 
Personal Computing Fair and Exposition 




LOOKING FOR...? 

• IMSAI 

• Polymorphic Systems 

• Technical Design Labs <TDL) 

FOR YOUR IMSAI / ALTAIR 

How About... 

• A Video Interface which provides 16 x 64 
characters, upper and lower case, graphics 
and a parallel input port lor a keyboard, all 
on one board!! 

• 16k RAM on ONE CARD. Super low 
power — 500 ma for 16k!! Super fast 
access — 200 ns!! Start with only 4k, 8k 
or 12k then expand <o 16k later. 

• LOW. LOW PRICES on all products- 
Write or call us for information and complete 
price list 

YOUR MAILORDER COMPUTER SHOP: 
Call: (315) 637-6208 

computer 
enterprise/ 



P.O. Box 71 • Fayetleville, N.Y. 13066 




TURN ON 
WITH C0MPTEK 

Now your micro can control AC 
power outlets with COMPTEK's NEW 
PC3200 Power Control System. 

• 1 to 32 independently address- 
able control channels 

• Remote power control units — 
no AC power on logic board 

• Optically isolated, current lim- 
ited, low voltage control lines 

• Accessible through most BASIC'S 

• ALTAIR and IMSAI compatible 
Write today for more details! 

comptak 

"Real World Electronics" 

P.O. Box 516 
La Canada, CA 91011 



COMPUTALKER 




'*/ 



m 



CT-1 



SYNTHESIZER 

High Quality Voice Output 

Altair/IMSAI/Polymorphic plug-In 

Nine Acoustic Control Parameters 

Includes 8080 Interface Software 

$395.00 plus shipping 



Order a demonstration cassette 

S2.95 postage paid 

Write for informative literature 

Calif, residents add 6% sales tax 

COMPUTALKER CONSULTANTS 

P.O. Box 1951, Dept. B, Santa Monica, CA 90406 

circle reader number 140 



141 



Soon we will be waiting only for some clever and well 
financed company to package the Home Information 
Processing Center and thus create the consumer de- 
mand for this next major home appliance concept. 



Expert guidance is usually 
available from the com- 
puter store... it is a place 
to turn for local help and 
instruction. 



Articles Policy 

BYTE is continually seek- 
ing quality manuscripts writ- 
ten by individuals who are 
applying personal systems, or 
who have knowledge which 
will prove useful to our 
readers. Manuscripts should 
have double spaced type- 
written texts with wide mar- 
gins. Numbering sequences 
should be maintained sepa- 
rately for figures, tables, 
photos and listings. Figures 
and tables should be provided 
on separate sheets of paper. 
Photos of technical subjects 
should be taken with uniform 
lighting, sharp focus and 
should be supplied in the form 
of clear glossy black and white 
or color prints (if you do not 
have access to quality photog- 
raphy, items to be photo- 
graphed can be shipped to us 
in many cases). Computer 
listings should be supplied 
using the darkest ribbons pos- 
sible on new (not recycled) 
blank white computer forms 
or bond paper. Where possible, 
we would like authors to sup- 
ply a short statement about 
their background and experi- 
ence. 

Articles which are accepted 
are typically acknowledged 
with a binder check 4 to 8 
weeks after receipt. Honorar- 
iums for articles are based 
upon the technical quality and 
suitability for BYTE's reader- 
ship and are typically $25 to 
$50 per typeset magazine 
page. We recommend that 
authors record their name and 
address information redun- 
dantly on materials submitted, 
and that a return envelope 
with postage be supplied in 
the event the article is not 
accepted." 



scheduled for June 13-16 in Dallas TX. The 
National Computer Conference is the 
world's largest computer conference, at- 
tracting over 250 exhibitors with more than 
1,000 booths and drawing more than 25,000 
attendees. Major personal computing activi- 
ties are planned for the 1977 NCC including 
a Personal Computing Fair, a special exhibit 
area for personal computing products, a 
program of paper and panel sessions, and a 
Computer Club Congress. 

Now let's turn our attention to the 
manufacturers who started and support the 
personal computing movement. What types 
of companies are producing personal com- 
puting products? Until very recently, the 
typical personal computing product manu- 
facturer was a rather small company whose 
only product lines were in the personal 
computing area; for example, IMS Associ- 
ates, Polymorphic Systems, Processor Tech- 
nology and Cromemco. Companies that 
don't quite fit the personal computing 
specialization are MITS, Southwest Techni- 
cal Products, and iCOM. Recently, several 
larger companies have been seen making 
moves into the personal computing market; 
namely, Texas Instruments, Intel, and 
Digital Equipment Corporation. 

Although at first nearly all personal com- 
puting products were sold by mail order 
direct from the manufacturer, we see now an 
important new institution emerging - the 
retail computer store. Presently, there are 
over 250 computer stores in the United 
States [based on the number of BYTE's 
direct dealer sales outlets]. A computer 
store is not an electronics store or green- 
house that happens to stock computers. The 
best computer stores offer a wide variety of 
products and services for the computer 
hobbyist and small business, including 
several lines of computers, parts, peripherals, 
prototyping equipment, books, magazines, 
software, repair service, custom interfacing, 
and consulting. The typical computer store 
has on display several demonstration com- 
puting systems so that an individual can see 
and try before buying. The computer store 
concept offers several advantages to the 
purchaser over buying directly from the 
manufacturer at no additional cost. The 



purchaser need not deal with several manu- 
facturers in order to reap the benefits of cost 
and feature comparisons. Expert guidance is 
usually available from the computer store. 
Local service is provided as well as answers 
to the myriad of questions sure to materi- 
alize when a person takes home his/her first 
computer. 

Now that we have characterized the 
personal computing movement in terms of 
the people, their clubs and conventions, the 
magazines they read, and the manufacturers 
of personal computing products, let's turn 
our attention to the impact of personal 
computing and its future. Most importantly, 
personal computing is the leading edge of 
the sharing of computing power by large 
corporations and government with the 
people. Soon our homes will be full of 
computers quietly improving many types of 
consumer goods, including: ovens, sewing 
machines, stereos, televisions, automobiles, 
sprinkler systems and security systems. 

More significantly, however, the Home 
Information Processing Center is emerging 
from the efforts of personal computing 
enthusiasts to use the computer to improve 
the quality of their everyday activities. The 
Home Information Processing Center will 
provide a central coordination facility for 
other home appliances, assistance in a 
myriad of personal business and record 
keeping tasks, interface with external sys- 
tems such as bank electronic funds transfer 
systems and retail stores, endless entertain- 
ment with computer based games, individu- 
alized learning through computer assisted 
instruction for us and our children, partial 
replacement for the mail with a home to 
home telephone-based communication sys- 
tem, remote access by telephone to home 
control functions, and each home with 
clerical assistance such as text editing. 

The public is being primed now for 
acceptance of the Home Information Proc- 
essing Center. On the other hand, as men- 
tioned before, many consumer goods are 
incorporating microprocessors as control 
components, so the public will start to think 
of the microcomputer as a rather ordinary 
device. On another front, video games are 
beginning to physically appear a lot like the 
Home Information Processing Center. 
Specifically, the games are using the tele- 
vision as an output device, some of them are 
using simple keyboards as input devices, and 
some use audio tape cassettes as a means of 
storing programs. From this video game to 
the Home Information Processing Center is a 
seemingly small step. The Home Information 
Processing Center would have the keyboard, 
the television, and the tape cassette in 



142 






JGA] DETELDBflJEnrr LdB5 



P.O. Box 2345 
W. Lafayette, IN 47906 

(317) 4637167 

'■« watt carbon film resistors $0.03 

5 percent, 50 per value min. 

Vi watt carbon comp resistors. ..$0.02 

10 percent, 50 per value min. 

No-Nik wire strippers $16.00 

10,12,14,16,18,21,23,25,28,31 
34,37,44 or 54 thousanths 
wire diameter 

Carbide PC board drills 



wire size: 


55 


65 


$2.88 




66 


70 


$2.97 




71 


75 


$3.06 




76 


78 


$3.60 




79 


80 


S3. 60 



Spec sheets are available. 

We would be pleased to send you a 
'GOODIES' catalog listing all kinds of 
hard to find products including : Molex, 
Bishop Graphics, AMP, CDC manuals 
and forms, PC drills and mills, elec- 
tronics tools, PC board manufacturing 
supplies, resistors, and semicon- 
ductors. 



NEW IN 

PHOENIX 
Bits & Bytes 

COMPUTER SHOP 

6819-C N.21st Ave. 
Phoenix, Az. 85015 

(602) 242-2507 

Featuring: 

EPA Micro-68 System 
Micro Term-Act 1 Keyboard 
Video Monitors 
Books, Magazines 



BQftHPrOfSB. 



7338 Bdllim. 
College Park 



I . Suite 200 
land 20740 



JOINT VENTURE 



GROUP OEM BUYS 



IMSAI made kits 6 assembled units 15% OFF LI5T 

TEC-9900-SS-UF, 16 bit TI9900 microP. 32 bit 1/0. 
hardware mull & div, buffered bus. 20 ma or 
interrupts h sockets 



TEC-9900-32KB 32K bytes memory 

TEC-9900-PP power supply 

SPHERE kits & assembled units _ 
SWTPCkns b assembled units _ 

CROMEMCO Kits & I 1 

SANYO TV Monitors 

TDLZPU&Z16K 



SEALS 8k bat backup Mem 



_10% 
_10% 



PERSCI Dual floppy & intelligent controller 1*270 & 



SHUGART MINI FLOPPY. 



RS 232. 8 
_S259.00 
_S629.00 
_S125,00 
OFF LIST 
OFF LIST 
OFF LIST 
OFF LIST 
OFF LIST 
OFF LIST 



AMD FACTORY PHIML- TESlf-D for MIL STD 883C 



91 L02 500ns 
91 L02 400ns 

2-80 microP 
7-RO-rpr 


si qn 

$1.99 
$54.00 


8080A 2.5 MH 
8080 P PI 


$17.00 


82121/0 port 
8228 Clock Dt 
9555 PPI 


$2.50 

vet $5.50 

$9.50 


2708 Eprom 


$65.00 



9102o00ns 

9102 400ns 

Z-80-PIO 

1702 A EPROM 
8080A 3 0MH_ 

8080SCI 

8224 Clock Gen 
8216/26 Driver . 

9551 PCI 

2102 6b0ns 



$1.95 

_$15.00 
_S8.00 
_$20 00 
_$10.00 

$4.75 

_$2.50 
_$9.50 



$1.75 

ADM-3K + CRT 6 addressable cursor $925 00 list $825.00 
AXIOM 80 col, 160 char/sec printer, parallel interface 

$665 OOlist, serial interface $740 00 list 10% OFF LIST 

Nat. Multiplex Digital Tape recorders 6 kits 10% OFF LIST 

MSI floppvs 6 kits 10% OFF LIST 

Pennywhistle modem 5% OFF LIST 

Tl "silenr.700" model 743. printer $1395 list 5% OFF LIST 

ASTRAL 2000 kits 10% OFF LIST 

Send $2 00 for newsletter & lists 

Other Chios 2900 series, 4K mems etc 

16 pm socket & cap for memory chip 25 

full payment for discounts, add 4%. mm A 00 

for shipp ng b handling, orders bulked for 

lowest discount on OEM Group buys 

prices Subject 10 change without notice 



SOUTH CAROLINA 
Now has a 



BYTE 

SHQP 



2018 Greene St. 

( 5 Points ) 

Columbia, SC 29205 

(803) 771-7824 




Perfect for: 

•KEYBOARDS! •TERMINALS! 

•MICROS! 'TEST GEAR! 

Quality 1/16" steel con- 
struction—Not cheap plastic! 
- 24 x 12 x3" - 
EASY TO TOOL ALUMINUM PANEL! 
Ready for custom finish of 

your choice 

Complete with feet, panel, 

hardware, and finishing tips! 

-SATISFACTION GUARANTEED! - 

$32.95 

plus $4.50 shipping 

(shipping Wt. 17 Lbs.) 

- SAME DAY SERVICE! - 

Write or call for more info: 

ADVANCED DATA SCIENCES 

BOX 1147 -(614) 382-7917 

MARION, OHIO 43302 



^COMPUTER 

PROGRAMMING 

COURSE 

Free description and outline of 
Modu-Leam TM Home Study 
Course in microcomputer pro- 
gramming. Hundreds of pages of 
text with examples, problems, 
and solutions. Prepared by pro- 
fessional design engineers using 
the best software design tech- 
niques from structured program- 
ming and practical experience 
with microcomputers. Presented 
in a modular sequence of 10 
lessons oriented for the new 
programmer. Extensive reference 
material you will use long after 
you become an accomplished 
microcomputer software designer. 
Much of the information in the 
course has been available only 
through costly seminars. Now 
you can purchase this complete 
home study course for under 
$50.00. Send for free descriptive 
brochure now. 



SERVICES INCOBPORATED 
71 1 Stierlin Rd, Mountain View, 



CA 94043 



(415) 965-8365 



addition to mass storage, such as a floppy 
disk, a hard copy output device, not very 
different from the ordinary typewriter, and 
be interfaced to the telephone line. The 
hardware technology for a low cost Home 
Information Processing Center exists. The 
application and software technology will 
grow from the personal computing move- 
ment. Soon we will be waiting only for some 
clever and well-financed company to 
package the product and create the con- 
sumer demand for this next major home 
appliance. When the Home Information 
Processing Center has become commonplace, 
personal computing will have grown to 
maturity. 

What started as a hobby could well grow 
into a "necessity" of life." 



Names and addresses of some of the publications 
mentioned in this editorial: 

Interface Age published by McPheters, Wolfe & 
Jones, 6515 Sunset Blvd, Suite 202, Holly- 
wood CA 90028 (monthly). 

Dr Dobb's Journal of Computer Calisthenics and 
Orthodontia, published by People's Computer 
Company, POB 310, Menlo Park CA 94025 
(monthly). 

Creative Computing, published by Ideametrics, 
POB 789-M, Morristown NJ 07960 (every two 
months). 

People's Computer Company, published by 
People's Computer Company, POB 3I0, Menlo 
Park CA 94025 (published several times during 
the school year). 

Popular Electronics, published by Ziff-Davis, 
widely available on newsstands (monthly). 

Radio Electronics, published by Gernsback Publi- 
cations Inc, widely available on newsstands 
(monthly). 



The Word "Byte" Comes of Age. . . 

We received the following from W Buch- 
holz, one of the individuals who was work- 
ing on IBM's Project Stretch in the mid 
1950s. His letter tells the story. 

Not being a regular reader of your maga- 
zine, I heard about the question in the 
November 1976 issue regarding the origin of 
the term "byte" from a colleague who knew 
that I had perpetrated this piece of jargon 
[see page 77 of November 1976 BYTE, 
"O/de Englishe"] . I searched my files and 
could not locate a birth certificate. But I am 
sure that "byte" is coming of age in 1977 
with its 2 1st birthday. 

Many have assumed that byte, meaning 8 
bits, originated with the IBM System/360, 
which spread such bytes far and wide in the 
mid-1960s. The editor is correct in pointing 
out that the term goes back to the earlier 
Stretch computer (but incorrect in that 
Stretch was the first, not the last, of IBM's 
second-generation transistorized computers 
to be developed). 

The first reference found in the files was 
contained in an internal memo written in 
June 1956 during the early days of develop- 
ing Stretch. A byte was described as con- 
sisting of any number of parallel bits from 
one to six. Thus a byte was assumed to have 
a length appropriate for the occasion. Its 
first use was in the context of the input- 
output equipment of the 1950s, which 
handled six bits at a time. The possibility of 
going to 8 bit bytes was considered in 
August 1956 and incorporated in the design 
of Stretch shortly thereafter. 

The first published reference to the term 
occurred in 1959 in a paper "Processing 
Data in Bits and Pieces" by G A Blaauw, F P 
Brooks |r and W Buchholz in the IRE 



Transactions on Electronic Computers, June 
1959, page 121. The notions of that paper 
were elaborated in Chapter 4 of Planning a 
Computer System (Project Stretch), edited 
by W Buchholz, McGraw-Hill Book Com- 
pany (1962). The rationale for coining the 
term was explained there on page 40 as 
follows: 

Byte denotes a group of bits used to 
encode a character, or the number of 
bits transmitted in parallel to and from 
input-output units. A term other than 
character is used here because a given 
character may be represented in dif- 
ferent applications by more than one 
code, and different codes may use 
different numbers of bits (ie, different 
byte sizes). In input-output trans- 
mission the grouping of bits may be 
completely arbitrary and have no rela- 
tion to actual characters. (The term is 
coined from bile, but respe/led to 
avoid accidental mutation to bit.,) 

System/360 took over many of the 
Stretch concepts, including the basic byte 
and word sizes, which are powers of 2. For 
economy, however, the byte size was fixed 
at the 8 bit maximum, and addressing at the 
bit level was replaced by byte addressing. 
Since then the term byte has generally 
meant 8 bits, and it has thus passed into the 
general vocabulary. 

Are there any other terms coined espe- 
cially for the computer field which have 
found their way into general dictionaries of 
the English language? 

W Buchholz 

24 Edge Hill Rd 

Wappingers Falls NY 12590 



144 



THE 
COMPUTER CORNER 



Lower Hudson Valley 
Southern Connecticut 



•IMSAI 8080 
•POLY-88 
•Teletype supplies 
•Full line of magazines 



• Processor Tech 
•Computer Book Service 
•Magnetic tapes & disks 
•Brain Games & Puzzles 



THE COMPUTER CORNER 

White Plains Mall 

200 Hamilton Avenue 

White Plains, N.Y. 10601 

Tel: (914) 949-DATA 

Hours: 

10-6 Daily & Saturday 

10-9 Thursday 



HEY, ALTAIR . . . 
GOT THE TIME? 

If not, you need COMPTER'S NEW 

CL2400 Real-time Clock. 

• Self-contained hardware clock 

• Can be set and read by BASIC 

• Programmable interrupts 

• Top quality board, components, 
and I.C. sockets 

• ALTAIR and IMSAI compatible 

• Uses: 24 hour clock 

Software timer 
Event timer 

KIT — $98 ASSEMBLED — $135 



"Real World Electronics" 

P.O. Box 516 
La Canada, CA 91011 

Circle A207 



COME TO 

ALDELCO COMPUTER CENTER 

2281 Babylon Turnpike 
Merrick, Long Island, N.Y. 

Open Mon. thru Sat. 9:30 to 5 

Books, Magazines, 
Computer Boards and Kits 

7400 IC's, CMOS, LINEARS, MEM- 
ORIES, 6800 & 8080 Support Chips, 
Rectifers Diodes, IC Sockets, Elec- 
tronic Parts 

OK battery operated wire wrap 
tool $34.95 

OK hand operated wire wrap 
tool $ 5.95 

National's SC/MP Kit only $99.95 

COMPUTER CONSULTATIONS 

SATURDAYS 9 to 5 

Evenings by appointment 

iiiaif 

CALL US AT 516 378 4555 




South Florida 

Across from the University of Miami 

University Shopping Center 
1238A South Dixie Highway 
Coral Gables, FL 33146 
(305) 661-6042 




Sunny Computer Stores, Inc. 

South Florida's First Computer Store 

We Carry: 

•IMSAI, COMPUCOLOR, VECTOR, 

SOUTHWEST, C.S.C., CROMEMCO 

•Books, Magazines, Newspapers 

•Sockets, IC's, Printers 

•Digital Cassette Equipment 

•Debugging Equipment 



We offer Classes, Friendly Advice and 
Service 

Hours: Monday - 1 2 Noon to 9 P.M. 
Tuesday through Saturday — 
10 A.M. to 6 P.M. 



the microcomputer 



m 



an introduction to 
reality 

now in Canada : 

imsai 
processor 
cromemco 

tell 
and more 

The Computer Place 

186 Queen St. W 

Toronto M5V1Z1 Focus Scientlfic 

416-598-0260 16 „ E|g|n St 

Ottawa K2P 2C4 
613-236-7767 



OFF LEASE EQUIPMENT 

Teletype ASR 33 

$809 each 

F.O.B. Your local AJ service center. 




Modems and Couplers 
also available. 
ANDERSON 
JACOBS ON 

521 Charcot Ave, San Jose 
California 95131 
(408) 263-8520 



Cromemco 



Z>ATA O' 



OMAIN 




HS1 Processor 



Techno logy 



the {jPetbcnai ^cwiAutei &eofde ! 



Here are some of the manufacturers we 
know, use, sell, stock and service. 



06 S. College Av . , Bloomington, IN 4?l 



01 Phone 822/334-3607 for the Store Near YOU 




tm_ ^pp>e v»wa« 555 o s I kFh ftj » 



About the Cover - Venus cle Plotto 

The unique drawing seen on this month's 
cover is an entry in the recent art contest, 
contributed by Arthur C Taber, 560 
Rockdale Dr, San Francisco CA 94127. This 
piece of art was produced on equipment 
which is not exactly in the price range of the 
personal budget: Arthur does his art at the 
San Francisco State University computer 
center. The output device used to draw the 
figure was a CALCOMP 563 drum plotter 
which has a 30 inch (76 cm) drum and a 
resolution of 200 steps per inch (79 steps 
per cm). The computer used was a CDC 
3 1 50 which has 32 K 24 bit words. The 
3150 can perform floating point calculations 



(eg: multiply or divide) in about 5 us, so the 
9 ms per point which he timed on a wall 
clock represents 1800 equivalent floating 
point multiply operations per point. 

The program used was an engineering 
simulation program which can be described 
metaphorically as "a highly distorted picture 
of four random rocks being thrown into a 
target whose viscosity varies from the center 
outward." In terms of the actual model, it is 
a high level language equation which 
describes a linear combination of damped 
harmonic oscillators in two dimensions, 
which is then rotated through a third 
dimension to produce a surface. The 
equation involved has two cosine terms, a 
square root term, and two exponential terms 















SOFTWARE -HARDWARE 




Professional 




IMSAI 




Repair 






NATIONAL MULTIPLEX 










C0MPU COLOR 










SWT PRODUCTS 




We repair S-100 style 
computer kit boards. $20 






SOFTWARE - HARDWARE PACKAGE 




per hour. Send us your 
boards and we will mail you 






With each order for IMSAI 8080, 




a labor estimate. (Phoning 






National Multiplex 2SIO(R) board 




estimates is $1 extra.) If 






and CC7A recorder receive free 




estimate is refused, we 






Assembler, 8K BASIC, 3 Games; all 




charge a $10 estimate fee. 






on cassette (requires 12K memory). 




If you OK the estimate, 
the estimate is free. 






This is the fast system, load 8K 




Repaired boards returned 






BASIC in 17 seconds instead of 4V4 




UPS collect. Send the 






minutes as on other cassette systems 




manuals with the boards and 






or 20'minutes with punched tape. 




be specific about the 






Users of National Multiplex system: 




probl em. 






Send $20.00 for cassette containing 3 
games. 




FREE 






For fast service send certified check 




Send stamped sel f -addressed 






or money order in full with order 




envelope for a free copy 






(Pa. residents include 6% tax). 




of our list of S-100 bus 






Shipping is prepaid to your door. 




compatible computers and 






For Dental, Medical, and business 




peripheral boards. 






applications call : 




Action Audio Electronics 






Dr. L.A. Lombardi 




Westlake Shopping Center 






LOMBARDI ELECTRONICS 




323 South Mayfair Avenue 






110 Ludwig Road 




Daly City. California 






Newcastle, PA 16105 




94015, (415) 756-7440 






(412) 652-3241 

















for damping. The plotting of this three 
dimensional surface was accomplished using 
a modified version of ACM algorithm 
number 483 for hidden line elimination, 
with a masking array of 10,000 words and 
the addition of some finesse. Finesse is 
defined as a random pen wiggle with an 
amplitude of several plotter steps, used to 
give texture and roughness to the lines in the 
original. 

Can This Type of Art Be Done at Home (for 
Less than a Megabuck)? 

The answer to the question is a qualified 
yes - this type of work can be done at home 
if the experimenter is willing to put together 
some of the required hardware, put up an 
Altair compatible machine with perhaps 16 
K to 32 K of memory, and add a mass 
storage device such as a Phi-Deck or floppy 
disk which can be automatically run. In 
addition to this more or less "standard 
system" the would-be artist must acquire a 
plotter such as the S750 plotter kit 
described on page 85 of January 1977 
BYTE, manufactured by Sylvanhills Labora- 
tory Inc and a fast floating point unit such 
as the North Star Computers FPB, Model A, 
described on page 75 of January 1 977 
BYTE. Assuming the limiting factor is the 
floating point calculation speed, here is a 
quick feasibility estimate for the computa- 
tion of Venus de Plotto. 

1. The original took a total of 1800 x 
250,000 = 450 million calculations. 

2. Allowing 111 us per floating multiply, 
the raw time requirement is: 

450 x 1 6 x 1 1 1 x 1 0" 6 = 49,950 seconds 
These numbers are very approximate, for 
they assume little 10 was done in the 
original run, that all parts of the program 
would scale in the same way as the floating 
point multiply time, etc. However, with a 
personal computer, one has time to "burn" 
as it were. The liberating effects of the 
computer are quite obvious here: For this 
kind of art, one would (for example) set up 
the plotter and program some fine morning, 
go out and get the day's exercise (bicycling, 
cross country skiing, jogging, etc, depending 
on where you live and when), go to work, 
rendezvous with an intimate friend for 
dinner, check on the finished results, then 
spend a few minutes to modify the design 
parameters of the plot before retiring for the 
night with that smug self-satisfying feeling 
that comes from living a good life." 



146 




-SC/MP at$ 95.00 

SC/MP, the Microprocessor kit from National 
Semiconductor includes everything you need to 
build a completely functional microprocessor 
system - featuring the National SC/MP micro- 
processor — the low cost microprocessor for 
every application: Text Systems and Instrument 
Control; Machine Tool Control; Small Business 
Machines; Word Processing Systems; Educational 
Systems; Multiprocessor Systems; Proces Con- 
trollers; Terminal Control; Laboratory Instru- 
mentation; Sophisticated Games; Automotive 
Controller and Appliance Controllers. 

The kit, neatly packaged with all the com- 
ponents and literature you need, in a looseleaf 
binder, includes: The SC/MP Microprocessor 
- a single-chip Central Processing Unit in a 40- 
pin, dual in-line package. Features static operations, forty-six instruc- 
tion types; single-byte and double-byte, software controlled interrupt 
structure, built in serial input/output ports; bidirectional 8-bit TRI- 
STATE R bus, parrallel data/port and latched 12-bit TRI-STATE R 
address port. ROM - 51 2 bytes (8-bits/byte) of pre-programmed Read- 
Only-Memory containing KITBUG-a monitor and debugging program 
to assist in the development of your application programs, KITBUG 
provedes teletypewrite input/output routines and allows examination, 
modification, and controlled execution of your programs. RAM-256 
bytes of static read/write memory for storage of your application 
programs. Transfers of data to and from RAM are controlled by SC/MP 
and KITBUG. Teletypewriter Interfact including buffer and drive 
capability for a 20 MA current loop interface. Voltage Regulator. 
Data Buffer-providing interface between memory and bidirectional 
data lines. All the literature you need, including schematics and pro- 
gramming manuals. Timing Crystal-providing 1.000 MHz timing 
signal. Plus all the passive components and circuit board with 72 pin 
edge connector required to build and interconnect your microprocessor 
system with external hardware. 



ASC II KEYBOARD 



:S31' 



SC/MP 
KEYBOARD 





(Res. 558.85) 



$53.00 



This 63 key ASC II Encoded Keyboard kit was designed and manufactured 
by Electronics Warehouse Inc. Features: single 5 volt DC. supply, utilizing 
only TTL logic elements (no MOS devices to blow), TTL drive capability (each 
of the eight bits of ASC II output will drive the equivalent of ten standard TTL 
inputs without external buffer drivers), de-bouncing, upper and lower case 
fully ASC II, 8 bit parallel output. In addition to the alpha-numeric and symbol 
keys available on a regular keyboard, the following keys are utilized: escape, 
back-space, tab, line-feed, delete, control, shift-lock, shift -(2 keys), here-is! 
control-release. 

Kit includes: 63 key keyboard, P.C board, all required components and as- 
sembly manual with ASC II code list. 

Optional: 1, Parity bit- add $1.00 Aluminum enclosure $39.- 

2. Serial output -add $2.00 
Note: If you already have this teletype keyboard you can have the kit without 
it for 536.00 (reg. S39.85). Dealer inquires invited. 



This is a great kit for engineers and com- 
panies who don't have access to aTeletype. 
It is a low-cost teaching, learning, and 
developing tool for hobbyists, professors, 
students, and electronics entrepreneurs of 
all levels. 



National's new Keyboard Kit now gives 
SC/MP Kit users a low-cost input/output 
capability. This new kit replaces the Tele- 
type* normally required by the SC/MP Kit 
and allows users to evaluate the SC/MP 
CPU and to develop a variety of application 
software. 

The heart of SC/MP Keyboard Kit is a ROM 
firmware package (512 bytes) called 
SCMPKB. The SCMPKB ROM replaces the 
"Kit Bug" ROM originally supplied with the 
SC/MP Kit and allows the effective use of 
the hexadecimal keyboard, to execute 
programs, to examine or modify the con- 
tents of memory and the SC/MP registers, 
and to monitor program performance. 



There is a hole pattern for additional inte- 
grated circuits on the SC/MP Kit PC card. 
By following the simple instructions in the 
SC/MP Keyboard Kit users manual, one 
can add buffers, decoders, drivers, multi- 
plexers, etc. Simply replace the Kit Bug 
ROM (supplied in the SC/MP Kit) with the 
new SCMPKB ROM, connect the pre- 
assembled Keyboard cabk* connector to 
the kit card, and you are ready to go! 

National's Keyboard Kit comes complete 
with manual, all required integrated circuits 
resistors, keyboard display cable con- 
nector assembly, wire wrap connectors, 
precut wires — even a hand-held wire wrap 
tool. 



SWITCHES 

10 Position rotary switch 
by oak manuf. $1 .00 per 4 

8 position, 1 off switch in T05 can 
$.69 2 for $1.00 




ROCKER SWITCH 

SPST normally open contact rating 6A 250VAC 
solder $ .50 ea $2.00 per 6 




MINIATURE TOGGLE SWITCH 

SPST P.C. MOUNT $.99 



MINIMUM ORDER $5.00 

Shipping & Handling: 

KEYBOARD or SC/MP - $3.00 + $.50 Insurance 

all others -$1.00 

California residents add 6% sales tax. 

ELECTRONICS WAREHOUSE Inc. 

1603 AVIATION BLVD. 

REDONDO BEACH, CA. 90278 

TEL. (213)376-8005 

WRITE FOR FREE CATALOG 

You are invited to visit our store at the above address 



weggjicgggMigj 



Advanced Microcomputer Products Presents 

Prototype Design Equipment tEKiSSHtriS 




™ " 


^K, t. : . oi™_ 


l« 




11 




i 




orliS 


* 8 *oiS.i 


'ffl 



nOTO-IOUD* u 



Now in slock for 
Microprocessor Prototyping ^^ 

NEW SOCKETS Si BUS STRIPS 

Exp.rlm.nter 600 .... $10.95 
£,p..i™ nln ,30Q .... $9.95 




CSC CATALOGUE 



8K RAM BOARD S198.00 

MM 




8T26B 




74LS138 


1.49 


8097 


99 


74 106 


.80 


7416) 


.49 


741HC 


10/2.50 


MH0026CN 


3.95 



* I C MARKET PLACE * 



NEW FROM NEC Microcomputer! FIRST TIME OFFERED 
D372 Floppy Disc Controller Chip .... S125.00 
D37! Mag. Tape Cassette Controller Chip . . 99.95 

Application Nottis (26 pages) 6.95 

Gl AY3550 4H Digit DVM Chip 2 

Gl AY3GO0 Keyboard Encoder 

Intersil 8038CC 4 95 

XR2263 Servo Com 6.95 

RO 32513 Chnr Gen 




FCN GEN KIT 
63 Key Keyboard 
19 Key Keyboard 

Also ... we stock entire continental 
specialties line new sockets and bus str 
for microprocessor design 

Experimenter 600 (.6 spacing) S10.95 
Experimenter 300 (.3 spacing) 9.95 



AM shipments first class or UPS in U.S. or add 5% 
for shipping and handling. Minimum order $10.00 
California Residents add 6% tax. Fore 



■ PI 1TFR PO.BOX 17329 *T ^..oNEflCft^ 1 -' 

IrU 1 LXV IRVINE, CALIFORNIA 92713 oB oEK'' 

PHONE 17141 9683655 



o 



T TRANSISTORS 


PIN 


DESCRIPTION 


PKG. 


UNIT PRICE 


10 


ioo 


looo 


2N91B 


NPNHnliF regency 


io in 


.24 


.17 


.16 


.JB 








.24 








2N2222A 






.19 


.165 


.165 


.135 


2N2219A 






.23 


.17 




.15 


2N2369A 


NPN Hijh5p«a S*.ra> 




.23 


>G5 


.155 


.135 


2N2905A 






.22 








2N2907A 








175 


1 fir. 




2N3392 














2N3414 








.19 


.IBS 




2N3S63 








.IBS 






2N3565 








.165 






2N3638 






.24 


.IBS 






2\3640 








.165 




13 


2N36W 


N^Tro^;' ' 


row 


23 


.165 


M 


13 
.13 
















2N4092 














2N4093 






.50 


M 


.43 


.42 


2N4123 








.15 




.13 


2N4125 






.23 


.IS 






2N4400 






.23 


.155 


145 


.135 


MPSA13 






.29 


XI 




225 








.95 




.78 


.72 


MOOSE 






.95 




.80 




2N3725 






a 


SO 


36 




FP0.3725CN 


Q "" Co " °""" 


HIP 


2.50 


1.95 


\M 


1.40 




BRIDGES r 


' 199 




100-499 


500-999 






VY02M 


ISA 200V 






46 


35 




W005M 
















W06M 
















HQ8M 


, M 1(IX ,Y 


im 




K 


49 






KBPC25 02 
















KBPC25D4 














1 


KBPC25 06 


.25* 600V 


i n 




US 


J10 




S1.O0MmimuirMierlmfii.rn 





^Exar 

SPECIALISTS IN NEW TECHNOLOGY 
LINEAR CIRCUITS 






• FUNCTION GENERATOR KIT* 
THD0 5t1YP-- AM/FM C^Jaiiilily 
XR-2206KA. |.K(uaBm-M«li.t>. l t u „cii<«n.o«r.rp. IC. PCI.o.i.1. nd 




* TIMING CIRCUITS * * COMMUNICATION CIRCUITS * 

XR556CP Onrsss T,™, 1.75 XR1489 Ou.i R5232 r™..« 145 
XR2556CP rjmr™, Cc^i 2.95 XR220B r„u. Qc«i,.n. Muni*, 4.75 
XR2240CP mwimmtvltTlmx 4. 2D 
XR320P Tin* 140 

i * PHASE LOCKED LOOPS* * STEREO DECODERS* 

XR7711CP >',■ r:... ...ri-....o.::^'- 5.35 XR1310F (•* StMStMffMrfclttt 300 

XR567CP ro"rDni«tr 1.H0 XR1310EP FM Slai»OtniMi(>ni 3.00 
XR25567CP TontOiurM 1.80 XR18D0 Sam D^iwunu,. 3.00 

I * FUNCTIONGENERATDRS* 

XR2206CP Monolim.. Fumi. on Gfn.mil' 5 25 

XR2207CP QunrnGMRMMOxilUtti 3.75 

* OPERATIONAL AMPLIFIERS* 
XR742CP 2>.o Coding AC 1-w 3.00 
XR455BCP ■>.;,■ Jl.c.., ■...;;■.',■■ .. 120 
XR4138CP OuMDo Amp 1.75 
XR4202CP P.Wimm.Di.C.lOpArNl 4.25 




*T" JUST OUT 

1 XR2263Strvo controller lor (emote control application! 16 95 













POWER SUPPLY: SPECIAL OFFER 

+5 Volts 1.5A Regulated 

+ 12 Volts 1.0A Unregulated 

Special buy on OEM Type Power Supply 

Comes complete with 7.5A 117V Power Transformer 

All Mounted in Chassis. 

Only S14.95 




ROTARY SWITCH 



115/230V 50400Hz Test 2IQ0VDC r~~~^ ' 
• CORNELLDUBILIER NF21015 L / fz ^—*~ , CB|K v 2S 

2.4A250VAC OnlyW.95 ^M^OgJ^ 



4* 



Clever buyers request our free f Iyer" 



UVTTTpR f 



All items below are while they last .^ 
and subject to prior sale. 

SUBMINI PC MOUNT SLIDE SWITCH 

Center off SPDT. Only 5/8" by 
i" with pins on 1/8" centers. 

y ij A VERY GOOD BUY^. 10/$2 

THE REAL THING FROM MONSANTO: 
MAN-10A seven segment readout 
with bar, not dot, LEDs. Lim- 
it 8 to a customer. Digit 

is .27" high 35< each 

The following are house or military numbered 

ICs, and include pinout/data 

988 ONE SHOT similar to Tt]2] V$l 

SNU058 DUAL k INPUT AND GATE with open coll 

tor or totem pole output 7/$l 

0*3*17 TRIPLE 3 INPUT NOR GATE 6/$l 

7*172 FLIP FLOP house numbered 5/$l 

INTEL 3101-14 BIPOLAR *l X 1 6 RAM super fast, same 

pinout as 7*lSl89 $1.50 each 

SILICON SIGNAL/SWITCHING DIODES 35/S2 






BILL GODBOUT ELECTRONICS 
BOX 2355, OAKLAND AIRPORT, CA 94614 

Add 50c handling to orders under 
Cal res add tax. No COD; to place 
BankAmericard 8 or Mastercharge® orders 
call (415) 562-0636, 24 hours. 



When you receive our flyer, you have access to 
capacitors, resistors, linear ICs, TTL, CMOS, 
low power Schottky, microprocessors, PACE, the 
; ood old 8080 , peripherals , memories, music 
kits, books, Vector products, trimpots, 
tals , sockets, discretes, power supplies, 
sets... all at the right price. Send for 



crys- 
chip 
it! 



^"ubmJnr'TTi 
Connectors! 



« 



^VECTOR! 

^F' This is one of the neatest Altalr 
accessories we've seen. It accepts 
virtually any size IC package, has a 
power and ground plane on opposite 
sides of the board for extra capacitance. 
Room for h regulators , 1 heat sink provid- 
ed with board. By the way, the sockets 
are shown only for illustration, but they 
get the point across that you can stuff a 

lot of ICs on here implement your own 

memory boards, I/O boards, etc. 

lElfUt ... 




UNIVERSAL PROTOTYPE 
BOARD » * » $19.95 






OTnro o tfij <f o o d 17 



Ml 1 ! 



1 MALI 



EJDon 



^^ 



HOOD 



L 



25 PIN RS-232 
CONNECTORS 

Submini D type 

Male plug comes with 
plastic hood. . . . $3. 95 
Order part #DB25P 

Female jack $3.95 

Order part #DB25S 



We Now Distribute Knowledge! 

We are happy to carry Che Adam Osborne & Associates se- 
ries of books on microcomputers , as lucid and complete 
a treatment of the subj ect as we've seen to date. 
All books postpaid in the USA; set of all three books 
available for only $25.00. 

VOL 1 "An Introduction to Microcomputers" Order book 
#2001. Gives the basics of uP based systems $7.00 

VOL 2 This recent addition gives up-to-date informa- 
tion on microprocessors equivalent to hundreds of 

pages of data sheets . Order book #3001 $12 . 50 

VOL 3 "8080 Programming for Logic Design" #4001 $7.50 




J 



I Now 



..ow you have a choice—specify wire 

I wrap pins (illustrated) or solder- 

I tail with .250" row spac 

I nig. For IMSAI and 

I Altair peripherals. 

I Wire wrap part tt 

I S-100WW. Solder- 
tail part # S-100ST 



Ithe 



SS-100ST is ideal for 
IMSAI motherboard 




"EconoRom" $179.95 

ALTAIR 8800/IMSAI PLUG-IN COMPATIBLE. This is a 4K 
by 8 EROM board... the ideal place for putting soft- 
ware, be it assembler, editor, or any custom set of 
routines. Additionally, this board may expand to 
8K x 8 by simply adding more sockets and EROMs ; also 
available is a 2K x 8 version if you don't need a 
full 4K. LOW POWER: 8K board requires %A @ 5V, & 
150 ma @ -12V. Buffered addresses for lightest 
loading, buffered outputs for maximum drive. Kit 
includes sockets, double - sided quality PC board, 
on board regulators, logic print, and instructions. 
Program it yourself, or have us do the programing. 

8K X 8 BOARD $269 .95 2K X 8 BOARD $135 . 00 

8080 Software Board $189.95 

We took our ECONOROM board kit, but instead of including 
blank EROMs, these are programmed with assembler, editor, & 
monitor routines for the 8080. This is a valuable first step 
if you're trying to get away from machine language programing. 
There's not really enough room here to fully describe all the 
functions of the sof tware . . . but if you send us $2.95 (refund- 
able with order), we'll send you our software packet that in- 
cludes instructions listing, schematic, and assembly data. 



CAVE 



in kit form 

$99.95 

plus postage 



RAM boards for 
ui t tricks , and 
s even more re- 
d thi s with the 



We took every th i ng we I ea rned from se 1 1 i ng 'tK x 
the past year, added some of this year's cir 

came up with EC0N0R.AM a memory board that 

markable due to its low price. We've engineer 
user in mind, giving you several benefits: 

A 3 regulators to share power load, plus optimized thermal de- 
sign, means a coo ler running mi crocomputer 

* Typical current consumption of under 750 ma gives your power 
supp 1 y a break 

* Fast Zero wait states 

* All TTL support ICs are latest Low Power Schottky types 

* For reliable and unambiguous data transfer, all addresses, 
data lines, and outputs are buffered for minimum loading and 
maximum output capability 

* Power -on cl ear inc 1 uded 

Al i these features are packed on to an Al Ui i r-s i zed , industrial 
quality double-sided PC board, with sockets for all ICs, 7 tan- 
talum capacitors for power supply decoupling, and plenty of by- 
pass capacitors 39 of them, in fact, as well as a logic print 

and instructions. 

also available assembled $129.95 

Our popular ECONORAM 4K x 8 RAM board is now available 
assembled, tested, and warranteed for one year. Plug 
it in to your Altair or IMSAI and enjoy the same per- 
formance that has made the kit such a success guar- 
anteed zero wait states and current drain of 750 mA 
or less ; on board regulation, easy address selection, 
and lots more . 



fNEW™c"osuRE™ 

Deluxe cases that look beautiful — no screws or 
fasteners mar the good looks from the outside 
Interior slots hold card guides, connectors, 
etc. (not included with enclosure) 
All enclosures available in either 
dark blue or black with white 
front panel. Order from the 
following 

/,VP5-17-17U: 5.51" II, 17.58" W, 
17.1" D. 



#VP7-17-17U: 
17.1" D. 



$79.25 

.26" 11, 17.58" W, 
$84.00 

#VPy-17-21U: 9.01" H, 17.58" W, 
21.6" D. This is exactly the 
same size as the IMSAI 8080 micro 
computer. $96.50 

All units shipped unassembled; please include enough 
for postage (excess refunded) . 






I 



ill 



Hit the deck in shorts and 
a tee shirt. Or your bikini if 
you want. 

You're on a leisurely cruise 
to remote islands. With names 
like Martinique, Grenada, 
Guadeloupe. Those are the 
ones you've heard of. 
A big, beautiful sailing vessel 
glides from one breathtaking 
Caribbean jewel to another. 
And you're aboard, having 
the time of your life with an 
intimate group of lively, fun- 
loving people. Singles and 
couples, too. There's good food, 
"grog',' and a few pleasant 
comforts. . .but there's little 
resemblance to a stay at a 
fancy hotel, and you'll be 
happy about that. 

Spend ten days exploring 
paradise and getting to know 
congenial people. There's no 
"*<*•* „ other vacation like it. 

Your share from $245. A new cruise is forming now. 
Write Cap'n Mike for your free adventure 
booklet in full color. 




Windjammer Cruises. 

"A tA/lhin lAUUtn lklTCDMATII~*kjAI CHDCiniAUV. nr< 



A WINDJAMMER INTERNATIONAL SUBSIDIARY • OTC 



Zip 



P.O. Box 120, Dept. 121 



Miami Beach, Florida 33139 



World's Lowest 
IC Prices 



SPECIAL PRICES 



MEMORIES 




Rams 




2102 


1.50* 


Proms 




82S23/S123 


1.95* 



TTL 




7400 


.12* 


7402 


.14 


7403 


.14* 


7404 


.16* 


7407 


.20 


7410 


.12* 


7420 


.12* 


7427 


.25 


7438 


.20* 


7440 


.12* 


7441 


.65* 


7445 


.45 


7447 


.75 


7450 


.14 


7451 


.14* 


7473 


.22 


7474 


.23 



7480 

7493 

7495 

74107 

74109 

74116 

74123 

74141 

74145 

74150 

74151 



.40* 

.50 
.49 
.29 
.30 

1.50 
.45* 
.80* 
.75 
.60* 
.60 



74152 
74155 
74157 
74160 
74161 

74163 
74165 
74173 
74174 
74175 
74177 
74180 
74181 



74192 

74193 

74194 

74198 

9602 

9300 

9312 

SCHOTTKY 

74S01 

74S02 

74S37 

74S38 

74S85 

74S113 

74S139 

74S140 

74S153 

74S172 

74S174 

74S175 

74S181 

74S197 

74S257 



.90 
.60 
.60 
.75 
.75* 

.75* 

.80 
1.25 

.75 

.75* 

.70 

.80 
1.50 



.70* 
.70* 
.85 
1.25 
.50* 
.75 
.70 



.25 

.25 

.40 

.60 
2.00 

.80 
1.50 

.50 
2.50 
4.50 
2.05 
2.05* 
4.50 
2.20 
1.50 



HIGH SPEED 

74H00 

74H01 

74H04 

74H10 

74H11 

74H40 

74H51 

74H52 

74H74 

74H103 

74H106 

LOW POWER 

SCHOTTKY 

74LS00 

74LS02 

74LS08 

74LS10 

74LS27 

74LS73 

74LS75 

74LS151 

74LS153 

74LS157 

74LS161 

74LS163 

74LS164 

74LS174 

74LS175 

74LS193 

74LS221 

74LS251 

74LS253 

74LS257 

74LS258 

CMOS 
4001 
4002 
4006 



.20 
.20 
.20 
.20 
.20 
.20 
.20 
.20 
.40 
.50 
.50 



.29 

.29 

.29 

.29 

.30 

.45 

.65 
1.10 
1.10 
1.10 
1.50* 
1.50 
1.50 
1.10* 
1.50 
1.50 
1.50* 
1.50 
1.50 
1.50 
1.50 

.16* 

.16 

.90 






4007 


.16 


4008 


.70 


4011 


.16* 


4012 


.16* 


4013 


.30* 


4015 


.80 


4016 


.35* 


4019 


.70 


4020 


.90 


4021 


.95 


4023 


.16* 


4024 


.75 


4025 


.20* 


4027 


.40 


4028 


.60 


4030 


.35 


4040 


.95 


4042 


.60 


4043 


.75 


4044 


.70 


4049 


.35* 


4050 


.35* 


4066 


.65 


4068 


.35 


4069 


.16 


4071 


.16 


4073 


.16 


4075 


.16 


4516 


.85 


4528 


.75 


4585 


.85 


LINEARS 




NE536T 


2.75 


NE555V 


.43 


NE556A 


.90 


1456V 


.75 


1458V 


.52 


566V 


1.25 


567V 


1.35 


540L 


2.00 



Order Minimum $10.00. Add $1.00 shipping and handling charge per order. California residents add 6% sales 
tax. All orders shipped First Class within 24 hours. 

Order the famous lasis 6 volume Programmed Learning Course "Microcomputer Design is a Snap" for 
$99.50 and receive a special $10.00 credit on any group of IC's. 

Satisfaction 100% guaranteed. 



C.O.D. Orders: Phone (day or night) 408/354-1448 

PO BOX 2542 
Sunnyvale, CA 94087 

Free monthly catalog — Just send us your name and address 



CITRON 



For more information circle 102. 



151 



illHl 



7400NTTU 



SN74U0N 16 SN7459A 25 

SN7401N 16 SN7460N 22 SN74154N 

SN7402N 2! SN7470N 45 SN74155N 

SN74Q3N 16 SN7472N 39 SN74156N 

SN7404N IS SN7473N 37 SN74157N 

SN74Q5N 24 SN7474N 32 SN74160N 

SN7406N .20 SN7475N 50 SN74161N 

SN7407N 29 SN7476N 32 SN74163N 

SN74Q8N 25 SM7479N 5 00 SfJ74164N 

SN7409N 25 SN7480fJ 50 SN74165N 

SN7410N 18 SN7482N 98 SN74166N 

SN7411N 30 SN7483N 70 SN74167N 

SN7412N 33 SN7485N .89 SN74170N 

SN7413N 45 SN7486N 39 SN74172h 

SN7414N 70 SN7488N 3.50 SN74173N 

SN7416N .35 SN74B9IJ 1 49 SN74174* 

SN7417N 35 SN749QN 45 SN74175h 

SN7420N .21 SN7491N 75 SN7417® 

SN7421N 33 SN7492H 49 SN741771 

SN7422N 49 SN7493N 49 SN74180F- 

SN7423N 37 SN7494N 79 SN7418H 

SN7425N 29 SN7495N 79 SN74182f 

SN7426N 23 SN7496N 89 SN74184T 

SN7427N .37 SN7497N J 00 SN74185r 

SN7429N 42 SN74100N 100 SN74186r 

SN743QN 26 SN74107N 39 SN74187r 

SN7432N 31 SN74121N" 39 SN74188f 

SN7437N .27 SfJ74122fJ 39 SN74190I 

SN7438N .27 SN74123N 50 SN74191I 

SN7439N .25 SN74125N .60 SN74192I 

SN7440N 15 SS74126N 60 SN74193I 

SN7441N 89 SM74132N 1.09 SN74194I 

SN7442N .59 SN74135M 95 SN74195I 

SN7443N 75 SN74141N 1 15 SN74196I 

SN7444N 75 SH74M3N 4 00 SN74197I 

SN7445N 75 SH74143N 4.50 SM74198I 

SN7446N 81 SN74144N 4.50 SN74199: 

SN7447N 69 SN74145N 1.15 SN7420OI 

SH7448N 79 SN74147N 2 35 SN74279 

SN7450N 26 SN741J6H 2.00 SN74251; 

SN7451N 27 SN74I50N 100 SN74284 

SN7453N 27 SN74151N 79 SN74285I 

SN7454N 20 SN74153N .89 SN74367 
MANY OTHERS AVAILABLE ON REQUEST 
20% Discount fir 100 Combined 7400's 



2.20 
1500 

GOO 



CD4000 
CD4001 
CD4002 
CD4006 
CD4007 
CD4009 
CD4010 
CD4011 
CD4012 
CD4013 
CD4U16 
CD4017 
CD4019 
CD4020 
CD4022 
CD4023 
CD4024 
CD4025 
CD4027 
CD4D28 
CD4029 
CO4Q30 



CMOS 



290 
65 



CD4035 

CD4040 

CD4042 

CD4044 

CD4046 

CD4047 

CD4049 

CD4050 

CD4051 

CD4053 

CO4Q60 

CD4066 

CD4069 

CD4071 

CD4081 

C045H 

CD4518 

CD4560 

74COON 

74C02N 



74C04N 

74C10N 

74C20N 

74C30N 

74C42N 

74C73N 

74C74 

74C90N 

74C95N 

74C107N 

74CI51 

74C154 

74C157 

74C160 

74C1G1 

74 CI 63 

74C164 

74 C 173 

74 CI 93 

74C195 

MC404i 

MCI 4016 



LMUOOH .80 

LM3Q1H 35 

LM301CN 35 

LM302H 75 

LM304H 1 00 

LM305H 95 

LM307CN 35 

LH308H 1.00 

LM306GN i 00 

LM309H l 10 

LM309K 99 

LM310CN 1 15 

LM311H 90 

LM311N 90 

LM318CN 1 50 

LM319N 1 30 

LM320K-5 1 35 

LM320K-5.2 1 35 

LM320K-12 1 35 

LM320K-15 1.35 

LM320T-5 1 75 

LM320I-5 2 1 75 

LM320T-8 1 75 

LM320M2 1 75 

LM320M5 1 75 

LM320M8 175 

LM320T-24 1 75 

LM323K-5 9 95 

LM324N 180 

LM339N 1 70 

LM340K-5 1 95 

LM340K-6 195 



LINEAR 



LM340K 
LM340K 
LM340K 

LM340K 
LM340K. 
LM340T- 
LM340T 
LM340T 
LM340T 
LM340T 
LM340T 
LM340T- 
LM350N 
LM351CN 



12 



1-95 
I 95 



LM370N 

LM373N 

LM377N 
LM330N 

LM381N 

LM382N 

NE501K 

NE510A 

NE531H 

NE536T 

NE540L 

NE550N 

NE555V 

NE560B 

HE551B 

NE552B 

NE565H 

NF565N 

NE566CN 

NES67H 

NE567V 

LM703CN 

LM709H 

LM709N 

LM710N 

LM711N 

LM723H 

LM723H 

LM733N 

LM739N 

LM741CH 

LM741CN 

LM741-I4N 

LM747H 

LM747N 

LM748H 

LM748N 

LM1303N 

LMI304N 

LM1305N 

LM1307N. 



LM1310N 2.9 

LM1351N 1 6 

LM1414N I 7 

LM1458C .6 

LM1496N 9 

LM1556V 1.6 

LM2111N 1.9 

LM2901N 2 9 

LM3065N 6 

LM3900N 5 

IM3905N 6 

LM3909 I 2 

LM5556N I 8 

MC5558V 1 C 

LM7525N 9 

LM7535N 1 2 

80388 4.9 

LM75450 .4 

75451CN 3 

75452CN 3 

75453CN 3 

75454CN 3 

75491 CN / 

75492CN 8 

75494CN 8 

RCA LINEAR 

CA3013 2 1 

CA3032 2.5 

CA3035 2.4 

CA3039 1 3 

CA3046 1.3 

CA3059 3 2 

CA306O 3.2 

CA308O .£ 

CA3081 2 C 

CA3082 IX 

CA3083 1 I 

CA3086 t 

CA3089 3 3 

CA3091 to.; 

CA3123 2 1 

CA3130 i.; 

CA3140 1.2 

CA3600 1 1 

RC4194 5 9 

HC4195 3.2 



W^^cm^^ TECHNOLOGY KITS fairck:- 



74LSO0 
74LS02 
74LK03 
74LS04 
74LS05 
74LS0B 
74LS10 
74LS13 
74LS14 
74LS20 
74LS26 
74LS27 
74LS2B 
74LS30 
74LS32 
74LS40 
74LS51 
74LS55 
74LS73 



::74LS00 TTL 



74LS74 

74LS75 

74LS76 

74LS83 

;4LSh5 

74LS86 

74LS90 

74LS92 

74LS93 

74LS95 

C4tSS6 

74LS107 

74LS109 

74LS112 

74LS132 

74LS136 

74LS138 



74LS139 

74LS151 

74LS153 

74LS157 

74LS162 

74LS163 

74LS164 

74USI75 

74LS181 

74LS190 

74LS19' 

74 LSI 92 

74LS193 

74LS194 

74 LSI 95 

74LS257 

74LS260 

74LS279 

74LS670 



MM5]09 
MM5311 
MM5312 
MM5314 



CLOCK CHIPS 

E Dujii BCD Outputs tesel PIN 

6 Dujii BCD Oulpuis 12 or 24 How 

4 Digit BCD Outputs 1 PPS Output 

6 Digit. 12 or 24 Horn. 50 or 60 H; 

4 Digit. Alarm. 1 0PS Outpul 

UMBO Clock Cttip For Use Wilfi MM5841 

6 Digit, Calendar. Alarm, 12 or 24 Hom 



DATA HANDBOOKS 

'in qui & Descnniion of 5400/7400 ICS $2.S 

■m qui fti Descripiion of 4000 Series ICS S2.9 

•in oi.i a Functional Description S2.S 

ALL THREE HANDBOOKS S6.95 



TKHWtOCI 



K 



riKOOOi 

FTK0002 

HK0003 
RK0004 
ITK0005 



' Complete Specifications on back of each kit 
> Packaged for WALL DISPLAY APPEARANCE 
i Dealer's Inquires Invited — Price List Available 



DIGITS 

5" High Common Cathode Diqii 

5' High Common Anode Digit 
357 High Common Cathode Digit 

e High Common Gamoee Digil 
0.8" High Common Anode Digit 



O.B" HIGH DISPUY ARRAYS 
12 Hour, 3 1 ? Digit Clock Display 
24 Hour 4 Digit Clock Display 



IK()!l;:!l 
FTK0021 

FTK0022 
i IMJU23 



LED LAMPS 
10 Red led Lames 
5 Mi«ed Colored LED Lamps 
10 LED Mounting Clips 
5 Three Piece LEO Mounting Adapters 



MKilOSO 
FTK0Q31 
FTK0032 

i Iku(i3:> 



PHOTO TRANSISTORS 
5 Flai Lens Pnoto Tranastots 
5 Round Lens Plioto Transistois 
3 Flat Lens Pholo Darlmgions 

3 Round Len 1 ; Photo Oarlmglons 



PHOTO ARRAYS 
FK0040 9-Element Tape Reader Array 

FTK0041 12-Element Catd ReaOei Ann 
FTK0D42 Reflective Oplo Coupler 




COUPLERS 

3 General Purpose Opte Cnuplci 
Darlington Opln Coupler 



HDS CLOCK CIRCUITS 

Digital Clock/Calendar Circuit 

IFCM7001] 
Digital Clock'CalenrJai will! 8CD 

Ou!pu1s(FCM7002i 
Direci Dfive Oigital Clock Circuit 

with AC Output 1FCM3817A) 
Direct Drive Digital Clock Circuit 

With DC Outpul (FCM3817D) 
Onect Dui'C Denial Clock'Carendar 

Circuit (FCM7015! 



KITS 
FTKOIOfi Automouile Clock Kit 



WIRE WRAP CENTER 



~0*UIM, CORDLESS 
^"■f HOBBY-WRAP TOOL-BW-630 

3K • Battery Operated (Size C) 

Wk . Weighs ONLY 11 Ounces 

Vfc . Wraps 30 AWG Wire onto 

" Standard DIP Sockets (.025 inchl 

$34.95 • Complete with built-in bit and sleeve 

(liiinenes not included) 



WIRE-WRAP KIT — WK-2-W 
WRAP • STRIP • UNWRAP 

• Tool for 30 AWG Wire 

• Roll of 50 ft. White 30 AWG Wire \^jA 



XC2Q9 
XC?09 

XC209 



XC22 
XC22 
XC22 
XC22 
SSL-22 



TYPE 

MAN 1 

MAN 2 
MAN 3 
MAN A 
MAN 7 
MAN 7G 
MAN 7V 
MAW 52 
MAN 64 
MAN 72 
MAN 74 
MAN 83 
MAN fl/i 



DISCRETE LEDS 



XC526 
XC526 


RerJ 
Green 


XC520 


Yellow 


XC526 


Oiange 


XCS26 


Clear 



XC556 


Heit 


XC556 


Staen 


XC556 


Yellow 


XC556 


Orange 


XC556 


Clear 



.90" dia. 

ReU 10.! 

Green iR 

Vellow .1/: 

Orange 4ft 

.035" dla. 

MV50 

.085" (lis Mici 

red LED 

6/S1 



DISPLAY LEDS 



POLARITY 

Common Anode 
5 x 7 Doi Matrix 

Common Cattuxle 
Common Cathode 
Common Anode 

Common Amnle- green 
Common Anode-yellnw 
Common Anode ■green 
Common Anode- red 
Common Anode 
Common Cathode 
Gommoii Anode -yellow 
Common Cilliiidc-yiiilav, 



TYPE 

MAN 3620 
MAN 364G 
MAN .1710 
DL701 
DL704 
DL707 
DL F28 
DL W 
DL 750 
DL33B 
FND70 
FN050:i 
FNDS07 



IC 



SOLDERTAIL— LOW PROFILE (TIN) SOCKETS 

50-100 



1.1 pin 
16 oin 

?2 pin 



lS SOLDERTAIL STANDARD (TIN) 



SOLDERTAIL STANDARD (GOLD) 



« .10 pin 

WIRE WRAP SOCKETS (GOLD) LEVEL I) 3 



14 pin 

15 pin 



PUSH BUTTON SWITCH 

fPB-123 S1.75 

Maintained Action Switch 
PB-126 $1.75 

IP Momentary Action Switch 



MINATURE TOGGLE SWITCH 

JMT-221 DPOT on/off/on $1,95 

JMT-223 DPDT on/none/on S1.75 

JMT-121 SPDT on/off/on S1.50 

JMT-123 SPDT on/none/on SI. 25 



. NEW LED MOUNTING SYSTEM — to be used 

ULIPLITE with XC556 LEDS - SPECIFY COLORS - 4 /$1 00 
RED - GREEN - AMBER — YELLOW 



50 PCS. RESISTOR ASSORTMENTS $1.75 PER ASST. 



10 OHM 12 OHM 15 OHM 18 OHM 

27 OHM 33 OHM 39 OHM -17 OHM 

68 OHM 82 OHM 100 OHM 120 OHM 

180 OHM 220 OHM 270 OHM 330 OHM 

470 OHM 500 OHM 6B0 OHM 820 OHM 

1 2K 1 !,K I UK 2 2K 



3 3K 
B2K 



i 9K 



5 6K 



6 OHM 


1/4 wrtn m 


50 PCS 


OHM 






OOHM 


1/4 WATT 5° 


50 PCS 


2 7K 


1/4 WATT 5°/ 


50 PCS 


6 3K 






I8K 


1/4 WATT 5°„ 


50 PCS 


47K 






120k 


1/4 WATT 5"/ 


50 PCS 


330K 






820K 


1/4 WATT 5° 


50 PCS. 


a6M 


1/4 WATT 5°, 


50 PCS. 



ASST. 8R Includes Resistor Assortments 1 -7 (350 PCS.) $10-95 ea. 



$5.00 Minimum Order — U.S. Funds Only 
California Residents — Add 6% Sales Tax 



Spec Sheets - 25c — Send 24c Stamp tor 1977 Catalog 
Dealer Discount Available — Request Pricing 




1021 -A HOWARD AVE.. SAN CARLOS. CA. 94070 

PHONE ORDERS WELCOME — (415) 592-8097 

All Advertised Prices Good Thru February 



50 pes. each 1", 2", 3" 
pre-stripped white wire 



S4" lengths- 



$11.95 




WIRE WRAP TOOL WSU-30 

WRAP . STRIP . UNWRAP -S5.95 



WIRE WRAP WIRE — 30 AWG 

25tt.min.S1.25 50ft.S1.95 100tl.S2.95 1000ft. S15.00 
SPECIFY COLOR — White - Yellow - Red - Green - Blue - Black 



THUMBWHEEL SWITCHES 



SERIESSf F.onl Mounl Awmfcly 

mm wm 



DIP SWITCH 



S1.95 



TYPE 

1N746 
IN751A 

1N752 
IN 753 
1N754 
IN959 

1N965B 
1NW32 
W,?-iA 
liJ r i?:ii 
1N5Z36 
1N456 
1N458 
1IM85A 
1N4001 

irjjoo? 
IN4003 

IN4004 



ZENERS - 

VOLTS W 
3.3 400mm 



400m 
400m 
400m 
400m 
500m 
50Qm 
500m 
500m 



50 PIV 1 AMP 

100 PIV 1 AMP 

200 PIV 1 AMP 

400 PIV 1 AMP 



DIODES — RECTIFIERS 

PRICE TYPE VOLTS W 

4 1 00 1N4005 600 PIV 1 AMP 

4'1 00 1N4006 800 PIV 1 AMP 

4/1.00 1N40Q7 1O0OPIV 1 AMP 

4/1.00 1N36G0 50 200m 

4 1 00 1M414H 75 10m 

8.1.00 1rJ415J 35 10m 

4.1.00 1N4305 75 25m 

26 IN4734 5.6 Iw 

28 IN4735 6.2 Iw 

28 1N4736 6.8 Iw 

28 1 N4738 8.2 1w 

6 1 00 1N4742 12 Iw 



6.1 00 1N47.: 



15 



Iw 



IN1183 50 PIV 35 AMP 

1N1184 100 PIV 35 AMP 

1N1185 150 PIV 35 AMP 

1NH86 200 PIV 35 AMP 

1N1188 400 PIV 35 AMP 



SCR AND FW BRIDGE RECTIFIERS 



C36D 
C38M 
2N2328 

MDA 980-1 
MDA 980-3 



15A@400V 
35A @ 200V 
1.6A@ 200V 
12A@ 50V 
I2A@ 200: 



FW BRIDGE REC 
FW BRIDGE REC 



MPS A05 
MPS A06 
:'N??1!M 
2W2321 

3N2359 

7f;^6gA 
FN2415 
2N74B4 

:'N;'!!(juA 
;>N?90M 

2N3053 
2N3D55 
f-'.JE :>U5= 
MJ£295S 
2N3392 

2rj339a 



TRANSISTORS 

PN3567 3 SI 00 

PN356B A 'SI 00 

PPJ35B9 -I SI m 



$1.00 

si ts 

5 SI 00 

5 SI 00 



3M3707 
2N3711 
2N372J 
7.H3725 
3N3903 
2H39HA 
2N3905 

■mm 

2N4013 
!fM014 

2N4'123 



5 Si 00 JTL 
5TJ1 00 T^ 



°N«50 
2N4400 
2N1401 

2NJ402 

2W463 

2m;;o9 
3NS086 

?N5aar 

?M508B 
:r, ! MB!l 

;usi 39 
2HS138 

2H5139 
2N5209 
2N5961 

'.:-.i:r>a!SL' 
;>!M32 



CAPACITOR 



50 VOLT CERAMIC 
DISC CAPACITORS 

10-49 50-100 

34 03 .001/iF 



CORNER 



22 0* 


05 .0 


47 pf 


.05 .0 


100 pi 


05 .0 


220 pf 


05 .0 


470 pf 


.05 .0 




too 


001ml 


.12 .1 


0022 


.12 1 


0047mf 


12 1 


Olmf 


12 .1 




+ 20% DIPP 


. i . 35 V 


28 .2 


.15/35V 


28 .2 


.22/35V 


28 .2. 


33/35V 


28 2 


.47/35V 


28 ,23 


. 68/35 V 


28 .2 


1.0/35V 


28 .2 


MINIATURE I 




Axial Lead 


.47-50V 


.15 1 


1.0/50V 


.16 .1 


3.3/50V 


15 ,1! 


4.7/25U 


16 .1 


10/25V 


.15 1 


10r50V 


16 1 


22/25V 


.17 1 


22/50V 


.24 .2 


47/25V 


19 .1 


47/50V 


25 .2 


100/25V 


.24 .2 


100/50V 


35 ,3i 


220/25V 


32 .2 


22O/50V 


.45 .4 


470/25V 


33 .2 


1000/16V 


55 5 


2200/1 6V 


.70 .6 



004 7,i F 
.OluF 



.05 



022^ F 

047 ;l F .06 

\pf 12 

100 VOLT MYLAH FILM CAPACITORS 
022mt 
047ml 



.07 



,1mf 



27 



22ml 
20% DIPPED TANTALUMS (SOLID) CAPACITORS 
5/35V 



26 
2.2/25V 31 27 

3 3/25V 31 27 

4.7/25V .32 28 

6.8;25V .36 31 
10/25V .40 35 

15/25V .63 50 

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS 



.47(25V 
47/50V 

1.0/16V 
1 0/25V 
1 QtfQV 
4.7/16V 
4 7/25V 
4.7/50V 
10716V 
10/25V 
10'SOV 
47/50V 

100/ 16V 

100/25V 

10O/5OV 

220/1 6V 

■170.25V 



Radial Lead 
13 



152 



Part* 
CV1A 
CY2A 
CV3A 

era 

CV12A 
CY14A 
CV1SA 
CY22A 
CY30B 



'CRYSTALS 

THESE FREQUENCIES ONLY 



Frequency 

1.000 MHz 
2.000 MHz 
1. 000 MHz 
5.000 MHz 
10.000 MHz 
14 31818 MHz 
18.000 MHz 
20.000 MHz 
32.000 MHz 



Case/Style 

HC33/U 

HC33'U 

HCIS.'U 

HC18/U 

HCIS.'U 

Hcieu 

Hcmu 

HC18/U 
HC16'U 



PrTcrr 
S5.95 
S5.95 
S4.95 
S4.95 
S4.95 
S4.95 
S4.95 
$4,95 
S4.95 



XR-2260KB Kit S27.95 



WAVEFORM 

GENERATORS 

XP.-205 SB .10 

XR-2206CP J 49 

XR-2207CF 365 

STEREO DECODERS 
XR-J3IGCP S3 20 

XR-1310EP 3 2D 

XR-18O0P 3 20 

XR-2567 2 99 



EXAR 



MISCELLANEOUS 



XH-221ICP 

Xfl-4136 

XR-1468 

XR-1488 

XR-1489 

XR-22C8 



XR-2206KA Kit 317.95 



TIMERS 

XR-555CP 

XR-320P 

XR-556CP 

XR-2556CP 

XR-2240CP 

PHASE LOCKED LOOPS 

>R-210 5 20 

XR-215 

XR-567CP 

XR-567CT 



3.25 



CONNECTORS 

PRINTED CIRCUIT EDGE-CARD 

.156 Spacing-Tin-Double Read-Out 

Bifurcated Contacts — Fits .054 to .070 P.C. Cards 

15/30 PINS (Solder Eyelet) S1.95 

18/36 PINS (Solder Eyelet) S2.49 

22/41 PINS (Solder Eyelet) S2.95 

50/100 (.100 Spacing) PINS (Solder Eyelet) $6.95 

25 PIN-D SUBMINATURE 

DB25 PLUG S3. 25 

DB25 SOCKET S4.95 



3V2 DIGIT DVM KIT 




This 0-2 VDC 05 per cent digital voltmeter features Hie Motorola 3V; digit 
DVM chip set II lias a A" LED display and operates from a single +-5V 
power supply The unit rs provided complete with an injection molded black 
plastic case complete with Bezel An optional power supply is available 
which tits into the same case as the 0-2V DVM allowing 1 1 7 VAC operation, 

A. 0-2V DVM with Case $49.95 

B. 5V Power Supply $14.95 



VECTOR WIRING PENCIL 

VectoiWirviB Pencil Pi 73 consists ol a hand nelil fe.nncwejgnt lundei oneouncel 
tool which is used to guide and wrap insulated wire led ofl a self-contained leplaeeable 
oobbin. onto component leads or terminals, installed on pre-punciicrJ P" Pattern 
Vecioroortl Connections between the wrapped wire and comrjgnen! leads pads or 
terminals are made by soldering Complete with 250 FT ot red wife en nc 



REPLACEMENT WIRE — BOBBINS FOR WIRING PENCIL 

W36-3-A-Pkq 3 250 tt 36 AWG GREEN $2.40 

W36-3-B-Pkg 3 25C tt 36 AWG RED S2.40 

W36-3-C-PkQ 3 25D It 36 AWG CLEAR S2.40 

W36-3-D-Pk[) 3 250(1 36 AWG BLUE $2.40 



1/16 VECTOR BOARD 



64P4J (JKxxjiP 
169P" 02UXP 
5AHA 062 



#* 



HEAT SINKS 



lit 



205-CB Beryllium Copper Heal Sink with Black Finish lor TO-5 $ .25 

291-.36H Aluminum Heat Si* tai fO-ZaO Transistors & Regulators S .25 
680-.75A Black Anoducd Aluminum Heal Sink lor TO -3 51.60 



HEXADECIMAL ENCODER 19-KEY PAD 

.1-0 
. ABCDEF 

• Return Key 

• Optional Key (Period) 
. —Key 




$10.95 each 



63 KEY KEYBOARD 



Tins «eyDa;rdlealiue:; 63 mien 
coded SPST keys, unattached li 
any kind niP C B A very soln 
molded plastic 13 x 4 Pas 
soils most applications 

519.95 



H0D16S 16 LINE TO FOUR BIT PARALLEL KEYBOARD ENCODER 




JOYSTICK 

These joysticks feature four * 
potentiometers, that vary re- 
sistance proportional to the 
angle of the stick. Sturdy metal 
construction with plastics 
components only at the mova- 
ble joint. Perfect lor electronic 
games and instrumentation. 

*5K Pots $6.95 
00K Pots $7.95 



MICROPROCESSOR COMPONENTS 



8080A CPU S19.95 

8212 8 Bit Input Output 4.95 

8216 Bi-Direclional Bus Driver 6.95 

8224 Clock Generator/Driver 12.95 
8228 System Controller - Bus Driver 12.95 

CPUS 

8008 8 BIT CPU S'9 9<. | 

BOBO Super BOOS ?4 % 1 

eoeoA suoei 3008 tg 95 -. 

SR'S 

2504 1024 Dynamic S 9 00 2 

2518 He. 32 BIT 7 OD 2 

2519 Hex JO BIT .; 00 7 

2524 512 Dynamic 2 49 f 

2525 1024 Dynamic g 00 8 
Dual 256 BIT 3 95 g 

2529 Dual 512 BIT J 00 8 

2532 Duad M BIT 3 95 g 

2533 1024 Sialic 7 
Fito 6 

570 15 . 4 R«a 3 

UAflT'S 

1-013 30K Band $5 
RUMS 

Char Gen S 9 

Chat G->n 10 



MC68D0L 8 Bit MPU $35.00 

MC6820L Periph. Interface Adapter 15 00 
MC6810AP1 128 x 8 Static RAM 6.00 

MC6830L7 1024 x 8 Sit ROM 18.00 



Static 
Dynamic 

Static 

Static 

Dynamic 

Sialic 

MMQS 

Sialic 

Static 

Static 

Sialic 

Sialic 



74200 
93421 
UMS262 



Sialic 
Dynamic 
PROMS 



3l>0 1 



6330-1 
6331-1 
6300-1 



256 Bil (32 x 8) Open Collector 

256 Bit 132 x 8) Three Stale 

1024 Bil (256 x 4) Open Collector 3 49 

1024 iSl i?56 • 41 three Slate 
2048 Bil (512 x 4) Open Collectoi 



BIPDLAH PROM SPECIAL 
35 6306-1 

2 95 6340-1 

6341-1 
6352-1 
6353-1 



?fi4P id! ,:,i2x4) Tfuec State 

"0'B hii i.f,i2 x 3) Open Collector 
;-'i'M!i im (512 x 8) Three State 
■10% lit! ,11);: .: 4) Open Collector 
4096 Bil H024. 4) Three Stale 



19.95 
19,95 

19 95 



Proto Board 100 



Continental Specialties 
■ $19.95 ™™. gjjja 



• 79.95 

COMPLETE III 




THE MINI- 
BREADBOARD 
BUDGET KIT 



39.95 









• a I i"» 




Proto Board 6 S15.95 



SPECIAL! 



LOGIC MONITOR 

Simultaneously displays sialic .ififl 

dynamic logic stales nt OTI. tTL 

HTL Or CMOS DIP ICs 

Pockiil size saa.95. 



■asii-Cii- 

•illltMl- ° 
•IBM- ' 



•IIMMHMuill ■ 



GEMINI -68 The Unique Microprocessing System 



(luitciil Loop 
I/O Part 




ALL BOARDS BUS EXPANDABLE 

Uses standard size AW wide beards, dual 22 pin edge connector 
Fully buffeted and tristatable address and data buses 

STAND ALONE CPU BOARD — Has 384 bytes ot RAM on boarrj, serial I/O (RS-232 

and 20 ma current loop, cycle stealing dnect memory access (DMA), built in soft- ___ n 

ware — selectable echo-back capability. Pail # SA-CPU Boatd $279.95 

CPU BOARD — Same as above but only has 128 bytes ol RAM on board -used with - n 

8K RAM board listed beldw Part tt Gemini 68 CPU Board $259.95 

8K RAM BOARD — Uses low power static RAMS, 500nscycle lime, 1 .5 Amps Max 

Par, # Gemini 68 RAM Boatd $269.95 

8K EPROM BOARD — Uses 5204 EPROMS by AMI or NATIONAL. Shipped with all 
decode and miscellaneous ICs, except the 5204 EPROMS 

Part # Gemini 68 EPROM Board $ 89.95 

NOT A KIT — ALL BOARDS ARE COMPLETELY ASSEMBLED, 
BURNED-IN AND TESTED. COMES WITH COMPLETE DOCUMENTATION. 



55.00 Minimum Ordei — U.S. Funds Only 
California Residents — Add 6% Sales Tax 



Spec Sheets - 25e — Send 24c Slamp for 1977 Catalog 
Dealer Discooot Available — Request Pricing 




1021-A HOWARD AVE.. SAN CARLOS, CA. 94070 

PHONE ORDERS WELCOME — (415) 592-8097 

All Advertised Prices Good Thru February 



CD Jimebancl 

DIGITAL ALARM CLOCK $16.95 



24-Hour Alarm 
'DOZE" Button 
100% Solid Slate 
Large Red Led Display (.8" high) 
AM/PM Indicator 

Seconds Display at touch of button \ 
SPECIFY BLACK OR IVORY V 




DIGITAL WATCHES 



Ladies Watch 

- 6 Function 

• Bracelet Styling 

• 1 Year Guarantee 

• Model 900 

• Specify Goto 
or Chrome 

$59.95 




EXELAR Mens Watch 

• 5 Function 

• Quartz Crystal 

• Blaex Leather Bard 

• ManalactUiU Guarantee 

• Specily Golil 
or Chrome 

$25.00 



5 FUNCTION ELECTRONIC CALCULATOR 
RADOFIN MODEL 8P 



$8.95 



. 8 Digil Display 

i 5 Functions consists of addition subtraction 
Iiplicatron division percentage with consts 
all lunctions with lull lioaling decanal point 

i Power source is 1 piece 9V DC Battery 00GP 
lack tor AC ailaptei 




DIGITAL STOPWATCH 



. Bright 6 Digit LED Display 

• times 1o 59 minute; 59 59 <ecnno 

• Crystal Conttoiied Time Base 

• Huee Stopwatches in One 

hmes Single Event —Split ft Taylo 

• 5iffi4 5"* 2.15 "90 i4':ounce 

• Uses 3 Penlite Cells 

Kit — S39.95 

Assembled — S49.95 
Heavy Duty Carry Case S5. 95 





DIGITAL QUARTZ CAR CLOCK 



Kit: S29.95 
Assembled: S39.95 



sctnm molded tw;.s inwniu 
; in powe erj'd .imj .ii 1 ro 
ilni, Mf.-5-l ■ r.ml cr ; ■ 

"< '■ r V pi 01- - fliU.1 

i'.» ..no f C tt ii'- Wqi 

iiini'ome; «mc .n'o i.i.ck 
D-MENbtOh! -.' . i 



CASE ONLY (includes hardware, mounting bracket and bezel) $5.95 




JE700 CLOCK 



$17.95 



■' «? ." V 9 3 » 



This large digit clock (.6 hours & 
minutes. .3" seconds) features the 
MM5314 clock chip It operates 
Irom ! 17 VAC. and will operate in 
either a 12 or 24 hour mode. The 
clock is complete with a walnut 
grain case, and has last set, slow 
set. and hold time set features 

JE500 KIT - ALL COMPONENTS & CASE S34.95 
WIRED & ASSEMBLED $39.95 



DIGITAL CLOCK KIT — 3Va INCH DIGITS 

4 DIGIT KIT $49.95 4 DIGIT ASSEMBLED SS9.95 

6 DIGIT KIT $69.95 6 DIGIT ASSEMBLED S79.95 

This clock features big 3V?" high digits for viewing in offices, auditoriums. 
etc, Each digit is formed by 31 bright 0.2" LED's. The clock operates from 
117 VAC, has either 12 or 24 hr, operation. The 6 digit version is 27" x 
3ft" x1'/j" and the 4 digit is 18" x3V;" x IV'.Kits come complete with 
all components, case and transformer. 

Specify 12 or 24 Hour When Ordering 



JE803 PROBE 

tie LOfllE Prude is 3 unit wbicti is tor me mosi par 
idespensiBte in trouble shooting logic 'amines 
TTL D1L RTL CMOS II derives the power it 
lo operaie directly oti ol Ihe circuit undei 
test drawing a scant iDmAma> ltusesaMflN3 
readout 10 indicate any ot ihe following states D\ 
these symDOiS |HI- 1 |LOW|-o(PULSE)-P The 
Probe can doted Nk]M Ireijijency imises to J5 MH/ 
I he used at (vlOS levels or circjil uamaye 



- u 



$9.95 Per Kit 

printed circuit board 




PL 5V1A Supply 

This IS a Slandi'd Ft ! pc.vtv supply usmq fhe -.v ' - 1 ' -now 1 - 
LM.109K regulator !C to provide a soliil t AMP pi current at 5 
volts We try to make things easy lor you Dy providing 
everything you need m one package including ihc hardware 

ta °"» S9.95 Per Kit J 



S.D. SALES CO. 



P.O. BOX 28810 -B 
DALLAS, TEXAS 75228 



From the same people who brought you the $89.95 4K RAM kit. We were not the first to 
Introduce an IMSAI/ALTAIR compatible Z— 80 card, but we do feel that ours has the best 
design and quality at the lowest price. 

The advanced features of the Z— 80 such as an expanded set of 158 instructions, 8080A 
software compatibility, and operation from a single 5VDC supply, are all well known. What 
makes our card different Is the extra care we took In the hardware design. The CPU card will 
always stop on an Ml state. We also generate TRUE SYNC on card, to Insure that the rest of 
your system functions properly. Dynamic memory refresh and NMI are brought out for your 
use. Believe it or not, not all of our competitors have gone to the extra trouble of doing this. 

As always, this kit includes all parts, all sockets, and complete Instructions for ease of assem- 
bly. Because of our past experience with our 4K kit we suggest that you order early. All orders 
will be shipped on a strict first come basis. Dealers inquiries welcome on this Item. 

Kit shipped with 2 MHZ crystals for existing 500NS memory. Easily modified for faster RAM chips when the prices 
come down. Z— 80 Manual - $7.50 Separately. 

Kit includes Zilog Manual and all parts. 



Z-80 CPU CARD KIT 
FOR IMSAI/ALTAIR 

$149: T 



JUMBO 
LED 
CAR 

CLOCK 



$16.95 

KIT 



You requested it! Our first DC operated clock kit. 
Professionally engineered from scratch to be a DC 
operated clock. Not a makeshift kluge as sold by others. 
Features: Bowmar 4 digit .5 inch LED array, Mostek 
50252 super clock chip, on board precision time base, 
12 or 24 hour real time format, perfect for cars, boats, 
vans, etc. Kit contains PC Board and all other parts 
needed (except case). 50,000 satisfied clock kit cus- 
tomers cannot be wrong! 

FOR ALARM OPTION ADD $1.50 
FOR XFMR FOR AC OPERATION ADD $1.50 



60 HZ CRYSTAL TIME BASE FOR DIGITAL CLOCKS 

S.D. SALES EXCLUSIVE! 
KIT FEATURES: 

A. 60HZ output with accuracy comparable to a digital watch. 

B. Directly interfaces with all MOS Clock Chips. ^ 

C. Super low power consumption. (1 .5 ma typ.) $5.95 Of 

D. Uses latest MOS 1 7 stage divider IC. 2/$10. 

E. Eliminates forever the problem of AC line glitches. 

F. Perfect for cars, boats, campers, or even for portable clocks 
at ham field days. 

G. Small Size, can be used in existing enclosures. 

KIT INCLUDES CRYSTAL, DIVIDER IC, PC BOARD 
PLUS ALL OTHER NECESSARY PARTS & SPECS 



50HZ CRYSTAL TIME BASE KIT - $6.95 
All the features of our 60HZ kit but has 50HZ output. For use 
with clock chips like the 50252 that require 50HZ to give 24 
hour time format. 



s 



THIS MONTH'S SPEC/ A LS! 

300.00 KHZ CRYSTAL - $1 .50 

8080A - CPU CHIP by AMD - $19.95 

82S129 - 256 x 4 PROM - $2.50 

N.S. 8865 OCTAL DARLINGTON DRIVERS 

3 for $1.00 

Z-80 - CPU by ZILOG - $69.95 

MM5204 - 4K EPROM - $7.95 

Prices in effect this month ONL Y! 



S 



4K LOW POWER RAM BOARD KIT 
THE WHOLE WORKS - $89.95 

Imsai and Altair 8080 plug in compatible. Uses low power 
static 21 L02-1 500ns. RAM's, which are included. Fully buffer- 
ed, drastically reduced power consumption, on board regulated, 
all sockets and parts included. Premium quality plated thru 
PC Board. 



7400— 19c 7411— 29c 7451— 19c 7490— 65c 74153— 75c 

74LS00— 49c 7413— 50c 7453— 19c 74LS90— 95c 74154-1.00 

7402— 19c 7416— 69c 7473— 39c 7492— 75c 74157— 75c 

74LS02— 49C 7420— 19c 7474— 35c 7493— 69c 74161— 95c 

7404— 19c 7430— 19c 74LS74-59C 7495— 75c 74164-1.10 

74L04— 29c 7432— 34c 7475— 69c 7496— 89c 74165-1.10 

74S04— 44c 7437— 39c 7476— 35c 74121-38C 74174— 95c 

74LS04-49C 7438— 39c 7480— 49c 74123-65c 74181-2.50 

7406— 29c 7440— 19c 7483— 95c 74132-1.70 74191-1.25 

7408— 19c 7447— 85c 7485— 95c 74S138-1.95 74192-1.25 

7410— 19c 7448— 85c 7486— 45c 74141-75C 74193-1.00 

TTL INTEGRATED CIRCUITS 74195— 69c 



STICK IT! 

in your clock 

in your DVM, etc.! 



Huge Special Purchase 

Not Factory Seconds 

As sold by others! 



$3.95 



4 JUMBO .50" 
DIGITS ON 
ONE STICK! 
(with colons and 
AM/PM Indicator) 

BOWMAR 4 




BUY 3 for $10. 
DIGIT LED READOUT ARRAY 



The Bowmar Opto-Stick. The best readout bargain we have ever 
offered. Has four common cathode jumbo digits with all seg- 
ments and cathodes brought out. Increased versatility since any 
of the digits may be used independently to fit your applications. 
Perfect for any clock chip, especially direct drive units like 
50380 or 7010. Also use in freq. counters, DVM's, etc. For 12 
or 24 hour format. 



UP YOUR COMPUTER! 

21 L02-1 1 K LOW POWER 500 NS STATIC RAM 

TIME IS OF THE ESSENCE! 

And so is power. Not only are our RAM'S faster than a speeding 
bullet but they are now very low power. We are pleased to offer 
prime new 21L02— 1 low power and super fast RAM's. Allows 
you to STRETCH your power supply farther and at the same 
time keep the wait light off. 8 for $1 2.95 



JfclOqC S.D. SALES EXCLUSIVE! <ft19QR 

*'*" w MOS 6 DIGIT UP-DOWN COUNTER *" ,JJ 

40 PIN DIP. Everything you ever wanted in a counter chip. 
Features: Direct LED segment drive, single power supply (12 
VDC TYP.), six decades up/down, pre-loadable counter, sep- 
arate pre-loadable compare register with compare output, 
BCD AND seven segment outputs, internal scan oscillator, 
CMOS compatible, leading zero blanking. 1MHZ. count input 
frequency. Very limited qty. WITH DATA SHEET 



WESTERN DIGITAL UART 

No. TR1602B. 40 pin DIP 

This is a very powerful and 

popular part. 

NEW-S6.95 with data 

LIMITED QUANTITY 



RESISTOR 
ASSORTMENT 

% W 5% and 10% 
PC leads. A good mix 
of values. 200/$2. 



FAIRCHILD BIG LED 
READOUTS 

A big .50 inch easy to read 
character. Now available in 
either common anode or 
common cathode. Take your 
pick. Super low current drain, 
only 5MA per segment typ- 
ical. 

FND 510 Common Anode 

FND 503 Common Cathode 
PRICE SLASHED! 59c each 



TERMS: 
Money Back Guarantee. No 
COD. Texas Residents add 5% 
tax. Add 5% of order for 
postage and handling. Orders 
under $10. add 75c. Foreign 
orders: US Funds ONLY! 



SLIDE SWITCH 
ASSORTMENT 

Our best seller. Includes 
miniature and standard 
sizes, single and multi- 
position units. All new, 
first quality, name 
brand. Try one package 
and you'll reorder 
more. SPECIAL 12/$1 . 



MOTOROLA POWER 
DARLINGTON 
Back in Stock! 

Like MJ3001. NPN 80V. 1 0A. 
HFE 6000 TYP. TO-3 case. 
We include a free 723C volt 
reg, with schematic for power 
supply. SPECIAL — $1.99 



CALL YOUR BANK 

AMERICARD OR MASTER 
CHARGE ORDER IN ON 
OUR CONTINENTAL 

UNITED STATES TOLL 
FREE WATTS: 

1-800-527-3460 

Texas Residents Call Collect 

214/271-0022 



S.D. SALES CO. 
P.O. BOX 28810 B 
Dallas, Texas 75228 



For orders over $15.00 Choose $1.00 FREE mdse, 



F8 EVALUATION BOARD KIT WITH EXPANSION CAPABILITIES 



A fantastic bargain for only 



20 ma of RS 232 interface 
64K addressing range 
Program control timers 
1K off on board static memory 



$99 



with the following features: 

00 • Built in clock generator 

• 64 Byte register 

• Built-in priority interrupts 

• Documentation 



GENERAL PURPOSE COMPUTER POWER SUPPLY KIT 



This power suppy kit features a high frequency torroid transformer 
with switching transistors in order to save space and weight. 
115V 60 cycle primary. The outputs with local regulators are +5V 
at 10A, -5Vat 1A, ± 12V at 1A. 



$79 



00 



UNIVERSAL 4K X 8 MEMORY BOARD KIT 



$74 



This memoryboard kit can be used with most microcomputers. 
kq Some of the outstanding features are: 

32-2102-1 static RAM's, 16 address lines, 8 data lines in, 8 data 
lines out, all buffered. On board decoding for any 4 of 64 pages. 



4K F8 Basic $25.00 



2522 STATIC SHIFT RE6 S2.75 

INTEL 8030 CPU S24 50 

2518-HEX 32 BIT SR $5.00 

2102-1 1024 BT RAM S1.S0 

5280-4 K DYNAMIC RAM $10.50 

5202A UV PROM S10.50 

MM5203 UV PROM S10.50 

1 702A UV PROM $10.75 

5204-4K PROM $18.95 

MINIATURE MULTI-TURN TRIM POTS 
100. 500, 2K, 10K, 100K, 200K 

S.75 o;ich 3/S2.00 

MULTI-TURN TRIM POTS Sinner io Bourns 
3010 style 3/16"x5/8"x1 -1/4"; 50. 100, 
IK, 10K,50K ohms 

Sl.5Qe.-i 3/S4.00 

LIGHT ACTIVATED SCR's 

TO-18.200V 1 A S 1.75 

TRANSISTOR SPECIALS 

2N3585 NPN Si TO-66 S .95 

2N3772 NPN Si TO-3 S 1 .60 

2N4908 PNP Si TO-3 S 1 .00 

2N6056 NPN S. TO-3 Darlington . S 1.70 

2N5086 PNP Si TO-92 4/$ 1 .00 

2N4893 PNP TO-66 S .60 

2N404 PNPGE TO-5 5/$ 1 .00 

7N3919 NPN Si TO-3 RF $1.50 

MPSA 13 NPN Si TO-92 3/S 1 .00 

2N3767 NPN Si TO-66 S .70 

2N2222 NPN Si TO-18 5/$ 1.00 

2N3055 NPN Si TO-3 S .80 

2N3904 NPN Si TO-92 5/S 1 .00 

2N3906 PNP Si TO-92 5/S 1 .00 

2N5296 NPN Si TO-220 S .50 

2N6109 PNPSi TO-220 S .55 

2N3638 PNP Si TO-5 5/S 1 .00 

2N65I 7 NPN TO-92 Si 3/S 1 .00 

C/MOS {DIODE CLAMPED) 

74C02 22 4015- 95 4035-1.10 

74C10- .22 4016- .40 4042- .78 

4001- .22 4017-1.05 4047-2.00 

4002- .22 4018^ 1.00 4049- .40 
4006-1.20 4019- .22 4050- .40 
4007- .22 4022- .95 4066- .80 

4009- .42 4027- .40 4071 - .22 

4010- .42 4028- .88 4076- .70 

4011- .22 4029-1.10 4081- .22 

4012- .22 4030- .22 4520- 1.15 

4013- .40 

LED READOUTS 

FND 500-.5" C.C SI. 75 

HP 7740.3" C.C $1.40 

MAN-7-.3" C.A $1.25 

NS33-3 dlg.arrey SI. 35 

DL 74/ S2.50 

Send 25i fot our catalog featuring 

Transistors and Rectifiers 

145 Hampshire St., Cambridge, Mass. 



Terms: FOB Cambridge, Mass. 
Send Check or Money Order. 
Include Poala~ " , - 3 

Order 15.00, C 



PRINTED CIRCUIT BOARD 



BOARD 1/16" thick, unetched 

S.50 ca 5/S2.20 

VECTOR BOARD 1" SPACING 

4.5" x 6" SHEET $1.25 

2N 3820 P FET S ,45 

2N 5457 N FET $ .45 

TIS43 UJT S .35 

ER 900 TRIGGER DIODES 4/S1 .00 

2N 6028 PROG. UJT S .65 



TANTULUM CAPACITORS 



7 WATT LD-65 LASER DIODE IR $S35 



VERIPAX PC BOARD 
This bov'rd is a 1/16" sinyle sided paper epoxy 
board, 4%"xSW DRILLED and ETCHED 
which will hold up to 21 single 14 pin IC's 
or 8, 16, or LSI DIP IC's with busses for 

power supply connector S4.00 

MV 5691 YELLOW-GREEN 

BIPOLAR LED $1.25 

FP 100 PHOTO TRANS S .50 

RED, YELLOW, GREEN OR 

AMBER LARGE LED's . . . eo. $ .20 

14 PIN DIP SOCKETS S .25 

16 PIN DIP SOCKETS $ .28 

MOLEX PINS 100/ SI .00 

1000/ $7.50 

8 PIN MINI DIP SOCKETS S .25 

10 WATT ZENERS 3.9, 4,7, 5.6, 8.2, 12, 15, 

18, 22, 100, 150 or 200V . . . ea. S .60 
1 WATT ZENERS 4.7, 5.6, 10, 12. 15. 

18 OR 22V ea. S .25 



Silicon Power Rectifiers 



PRV 

foo" 

20~0~ 
400" 


1A 

"oe" 

J37 

.09 


3A 
.14 
.20 
.25 


12A 
.30 
.35 
.50 


50 A 
.80 
1,15 
1.40 


125A 
3.70 
4.25 
6.50 


600 


.11 


.30 


.70 


1.80 


8.50 


800 


15 


.35 


.90 


2.30 


10.50 



SILICON SOLAR CELLS 

2%" diameter 
.4V at 500 ma $5.00 ea.. 6/S27.50 



REGULATED MODULAR 
POWER SUPPLIES 

t - 15 VDC AT lOOrna 

115VAC INPUT S27.95 

5VDC AT 1 A, 1 1 5VAC INPUT . . . S24.95 

12 VDC AT .5 AMP S24.95 

IN 4148 (IN914) 15/Sl.iHI 



47UF 35V 5/S1.00 
J58UF 35V 5/SI.0O 
1UF 35V 5/S1.00 
2.2UF 20V 5/S1.00 
3.3UF 35V 4/S1.00 



6.8UF 35V 3/S 1.00 
22UF 35V $ 40 
33UF 35V $ 40 
30UF 6V 5/S1 00 
100UF 35V S .50 
150UF 15V S .50 



M 7001 ALARM CLOCK CHIP. 



S6.00 



NATIONAL MOS DEVICES I 



MM1402- 1.75 
MM1403- 1.75 
MMH404- 1.75 
MM5013- 2.50 
MM5016-2.50 
MM5017- 2.70 
MM5055- 2.25 

MMr-.nr.fi - 2.25 



MM5057- 2.25' 
MM5058- 2.7E 
MM5060- 2.75 
MM5061 - 2.50 
MM5555- 4.7* 
MM5556- 4.7! 
MM5210- 1.9! 
MM5260- 1.7E 



#30 WIRE 
WRAP WIRE 
SINGLE 
STRAND 
100 FT. 
SI .40 



7400- 
7401- 
7402- 
7403- 
7404- 
7405- 
7406- 
7407- 
7408- 
7409- 
7410- 
741 1 - 
7412- 
7413- 
7414- 
7416- 
7417- 
7420- 
7425- 
7426- 
7427- 
7430- 
7432- 
7437- 
7438- 
7440- 
7441- 



TTLIC 

7442- 

7445- 
7446- 
7447- 
7448- 
7450- 
7472- 
7473- 
74 74- 
7475- 
74 76- 
7480- 
7483- 
7485- 
7486- 
7489- 
7490- 
7491- 
7492- 
7493- 
7494- 
7495- 
7496- 
74107- 
741 21 - 
74123- 



SERIES 

.52 74125- 
.70 74126- 
.70 74151- 
70 74153- 
.70 74154- 
74155- 
74157- 
74161- 
74164- 
74165- 
74173- 
74174- 
74175- 
74177- 
74180 



.30 

1,85 



74181- 
74190- 
74191- 
74192- 
74193- 
74194- 
74195- 
74196 
75324 
75491- 
75492- 



2.10 
1.20 
1.20 



MI'N 


ATURE DIP 


SW 


TCHES 


CTS-206-4 


Four 


SPST 


wit 


hes 




in one 


minid 


p pack 


ifje. 




SI. 75 


CTS- 206-8 


E,chi 


SPST 


wil 


ches 


n a 16 


pin DIT 


pack 











AY-5-1013-A30K setJpBT,, piir./si-r., uni- 
versal UART S6.95 



ALCU MINIATURE TOGGLE SWITCHES 
MTA 106 SPDT $1.20 



SOLID STATE SALES 

P.O. BOX 74B 

SOMERVILLE, MASS. 02143 TEL. (617) 547-4005 



200 


.95 


1.25 


2.00 


400 


1.15 


1.50 


3.00 


600 


1.35 


1.75 


4.00 


SANKEN AUDIO POWER AMPS 

Si 1010 G 10 WATTS S 7.50 


Si 1050 G 


50 WATTS. . 




. S27.95 



Full Wave Bridges 



__ 25 A 

I 

CCD 110 LINEAR 256 XI BIT SELF 
SCANNING CHARGED COUPLED 

DEVICE S99.00 

CCD 201 - 100 x 100 CHARGE 
COUPLED DEVICE 5135.00 

LINEAR CIRCUITS „ 

LM307 Op. Amp S .30 

LM309K 5V 1A REGULATOR .. S .95 

723 - 40 + 40VV RFGULATOR . . S .50 

301 /748-Hi Per. Op. Amp S .31 

320T 5,12.15, Ol 24V NEG REG . . $1.25 

709C Op. Amp S 31 

741Aor 741COP AMP S .31 

710 COMPARATOR S .35 

CA 3047 Hi Pef. Op. Amp $ .95 

340T5, 6, 8, 12, 15, 18,24V POS 

REG. TO-220 SI. 10 

101 OPER. AMP. HI PERFORM. . . S 75 

LM 308 Oper. Amp., Low Power . . S .95 

747 - DUAL 741 $ .65 

556 - DUALTIMER SI. 00 

537 - PRECISION OP. AMP SI 70 

LM 3900 - QUAD OP. AMP .... S .49 

LM 324 QUAD 741 S1.50 

560 - PHASE LOCK LOOP .... S2 00 

561 - PHASE LOCK LOOP .... S2 00 

565 - PHASE LOCK LOOP . . . . ' SI 25 

566 FUNCTION GEN SI .65 

567 -TONE DECODER Si. 50 

LM 1310N FM STEREO DEMOD. . $2 75 

8038 IC VOLTAGE CONT. OSC. . S3.90 

LM 370 - AGC SQUELCH AMP. . Si 15 

555-2/js -2 HR. TIMER $ 45 

553 OUAD TIMER $2.50 

FCD 810 OPTO-ISQLATOR .... S .80 

1458 DUAL OP AMP S .60 

LM 380 2W AUDIO AMP $ .95 

LM 377 - 2W Stereo Audio Amp. . S2.50 

LM 381 - STEREO PREAMP. ... SI. 50 

LM 382 - DUAL AUDIO PREAMP S1.50 

LM311 HI PER. COMPARATOR S .90 

LM319 - Du;il Hi Speed Comp. .. S1.25 

LM 339 - QUAD COMPARATOR S1 .50 



WE SHIP OVER 95% 

OF OUR ORDERS THE 

DAY WE RECEIVE THEM 




i keybc 



TOUCH TONE GENERATOR BY 
MOSTEK. MK5086N produces the 
dual-tone multi-frequency telephone 
dialing signals as used in TT phones 
and auto patches. Uses inexpensive 
crystal, 1 resistor and 1 capacitor. 
Both tones are internally mixed and 
buffered to o single output - simple ! 
Two additional output switches con 
control timers, transmitter, mute re- 
ceiver, enable audio amp, etc. Uses 
ird. Comes in 16 pin plastic DIP. 



our Choi 

MK5086N '.SB. 95... Crystal for MK5086N SI .90 

Specs for MK5086N 80c;. 

Kit of parts Including etched and drilled P.C. board and one 

of our Chomerics keyboards SI 9.95 



MC14412 UNIVERSAL MODEM CHIP 
MC14412 contains o complete FSK modulator and de-mod- 
ulator compatible with foreign and USA communications. 
10-600 BPS) 
FEATURES: 

.On chip crystal oscillator 

. Echo suppressor disable tone generator 

.Originate and answer modes 



.Simplex, half-duplex. 


and full duplex 


operat 


on 


.On chip sine wave 










.Modem self test mode 










.Selectable data rates: 







200 
300 
600 






.Single supply 










VDD=4.75 to 15VDC 


- 


FL suffix 






VDD=4 75 to 6 VDC 


- 


VL suffix 







TYPICAL APPLICATIONS: 

.Stand alone - low speed moderns 

.Built - in low speed modems 

.Remote terminals, accoustic couplers 

MC14412FL S28.99 

MC14412VL $21.74 

6 pages of data .60 

Crystal for the above S4.95 



MCI 4411 BIT RATE GENERATOR. 
Single chip for generating selectable frequencies for equip- 
ment in data communications such as TTY, printers, CRT s 
or microprocessors. Generates 14 different standard bit 
rates which ore multiplied under external control to IX, 
8X, 16X or 64X initial value. Operates from single >5 

volt supply. MC14411 , , SI 1.98 

4 pages of data 40 

Crysta I for the above S4 . 95 

REMOTE CONTROL TRANSMITTER. MC14422P is o 22 
channel ultra-sonic remote control transmitter I.C. CMOS 
uses little power and only a few external passive compon- 
ents. Applications include TV receivers, security controls, 
toys, industrial controls and locks. 16 pin DIP plastic pkg, 
MCH422P with specs $11.10 



PRECISION REFERENCE AMP 

LH0070-1H provides a precise 10.0 volts for use in BCD A 
to D converters or meter calibrators. Typical initial accuracy 
is .3% (t .03V1 . Comes in TO-5 can. 

LH0070-1H with specs $5.35 

SUPER ACCURATE VERSION 

LH0070-2H has iO.05% max error at 25" C. w/spec $10.55 



SOLID STATE RELAY. 

Teledyne P/N 601-1010GG is a heavy duty solid state 

relay module operating up to 10A at up to 250VDC . 

All brand new modules!! Still in original factory package. 

1010QQ -- 56 .88 



3 DECADE (BCD) COUNTER CHIP 
MC14553BCP consists of 3 negative edge triggered 
synchronous counters, 3 quad latches and self scan 
multiplexed , TTL compatible outputs. 

MC14553BCP S8.72 

Spec sheets S . 60 



LM1889 TV VIDEO MODULATOR 

The LM1889 is designed to interface audio, color difference 
and luminance signals to the antenna terminals of a TV re- 
ceiver. It consists of a sound subcarrier oscillator, chroma 
subcarrler oscillator, quadrature chroma modulators, and R.F 
oscillators and modulators for two low-VHF channels. 
The LM1889 allows video information from VTR's, games, 
test equipment, or similar sources to be displayed on black 
and white or color TV receivers. 
LM1889 with 16 pages of data $9.95, data only, SI .00 




m\tms 



S<»YS 



OOPS!! We're going to have six more minutes 

of winter in Glendale - but don't let those projects 
get grounded and hog your time and money. Let 
us help brighten your day with quality parts from 
TRI-TEK 

CMOS UART 

IM6402CPL is a CMOS UART for interfacing CPUs to serial 
data channel. Only lOmW power. Operates from 4 to MV 
and up to 200K BAUD!! Comes in 40 pin DIP package.. 
Data word length of 5, 6, 7, or 8 bit with even or odd 
parity, or parity check can be inhibited. Here's the way 
to speed up your terminal and reduce the power require- 
ments. IM6402CPL w/specs. . . . $ 1 1 .55 Specs only, 

INCANDESCENT LIGHT DELAY. 

Small module designed to fit directly behind your wall 
switch-plate. Turn switch off and "LITE-OFF" keeps 
ight at half power for 15 seconds before turning off, 
allowing you to get from where you are to where you 
ain't with out breaking a leg. Up to 500W! ! 
LITE-OFF Model 100 w/instructions $2.15 

MIDGET PUSH BUTTON SWITCH (CHEAP) 
Flat shaped plastic body push button DPST-NO momentary 
switch. 1/4" bushing mount. Body only l/4"Xl/2" X 
3/4" long. CPB-0201 P 3/51.00, 10/53.00 



*3 



COSMACM !!!! 

The RCA CDP1802 COSMAC microprocessor is a one-chip 

CMOS 8-bit register-oriented CPU. It is suitable for use 

in a wide range of stored-pragram computer systems of 

either a special or general purpose nature. 

The 1802 includes all of the circuits required for fetching, 

interpreting and executing instructions stored in standard 

types of memories. It has extensive I/O control features to 

facilitate system design. 

CMOS structure and on-board clock oscillator minimize 

the power supply size and package count. 

.Static CMOS circuitry 

.High noise immunity 

.TTL compatibility 

.Single phase clock or on-chip oscillator 

.8 hit parallel organization with bidirectional busses 

.Built-in program load 

.DMA to 65 K Bytes 

.91 instructions 

, MO RE- - 

CDP1802CD CPU S34.95 

CD PI 852CD PI A SI 5. 45 



DATA BOOKS BY NATIONAL SEMICONDUCTOR 

DIGITAL. Covers TTL, DTL, Tri-State, etc S3. 95 

L I N E A R . Covers amplifiers, pre-amps, op-amps, . . S3. 95 
LINEAR APPLICATIONS. Dozens of application notes and 
technical briefs covering the use of op-amps, regulators, 

phase locked loops and audio amps Vol 1 $3.25 

CMOS Gates, Flip Flops, registers, functional blocks $3 
VOLT AGE REGULATORS. A must for anyone making a 
power supply. Complete theory including transformers, 

filters, heat sinks, regulators, etc $3.00 

MEMORY. Information on MOS and Bipolar memories'- 

RAMS, ROMS, PROMS and decoders^encoders $3.95 

INTERFACE. Covers peripheral drivers, level translators, 
line driver/receivers, memory and clock drivers, sense amps 

display driver and opto-couplers 53.95 

(Outside U.S., add postage for 1 .5lbs> 

SPECIAL FUNCTIONS DATA BOOK contains detailed 
information for specifying and applying special amplifiers, 
buffers, clock drivers, analog switches and D/A-A/D 

converter products $3 . 25 

AUDIO HANDBOOK contains detailed discussions, 
including complete design particulars, covering many 
areas of audio with real world design examples. .. $3.25 




C LI PL DTE'" 

COMBINATION LENS AND 

MOUNTING DEVICE FOR 

T l 3 /« LED 

REQUIRES 
NO TOOLS 



SNA? CLIPLITE 




INSERT LED 



AVAILABLE IN TRANSPARENT RED GREEN AMBER CLEAR & YELLOW 
CLIPLITE 

Combination lens and mounting device for T 1-3/4 LED, 
The CLIPLITE combines the benefits of the present LED 
display panel mounting methods and eliminates their def- 
iciencies. Requires no special tools and installs in 6 seconds 
in .250" hole. Simple two-step installation. Just snap 
CLIPLITE, insert LED. Available in transparent red, green, 
amber, clear and yellow. Specify colors, any mix. 
5/S1.00, 10/S1.90, 20/S3.50, 50/S7.50, 100/S13.50 



NEW NATIONAL BOOK— LINEAR APPLICATIONS VOL II 
Takes up where Vol I left you — All the latest linear devices. 
Along with Vol I you have a great source of application 
data on the most widely used devices as well as new types 
just appearing $3.25 



INTRODUCTION TO MICRO COMPUTERS 

New book from OSBORNE. 

The first edition of this classic was a huge success. Now, 

due to the growth of information on the subject Osborne has 

expanded the work into 2 volumes. Vol I covers basic 

concepts, Vol II discusses real world micro computers. 

IMC-002 Vol I $8.00 

IMC-002 Vol II $13.00 



'NOTHER NEW BOOK FROM OSBORNE. 
"8080 PROGRAMMING FOR LOGIC DESIGN" explains 
how an assembly language program within a microcomputer 
system can replace combinatorial logic for logic de- 
signers, programmers or anyone who is interested in real and 
powerful applications of the ubiquitous 8080. 
PLD-4001 $8.00 




tRi tek, inc. 

6522 noRth 43R0 Avenue. 
qlendile, Arizona 85301 

phone 60-2 - 931 6949 



We pay surface shipping on all orders over $10 US, $15 foreign in US funds. 
Please add extra for first class or air mail. Excess will be refunded. Orders 
under $10, add $1 handling. Please add 50c; insurance. Master charge and 
Bank America cards welcome, ($20 minimuml. Telephone orders may be placed 
10AM to 5:30PM daily, Mon thru Fri. Call 602-931-452B. Check reader 
service card or send stamp for our latest flyers packed with new and surplus 
electronic components . 



JSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSBSS3S9S88 



COMPUTER 

WAREHOUSE 

STORE 



DEPT. B, 581) COMMONWEALTH AVE. 
BOSTON, MA 02215 617/261-2701 



SSSSSSSS9SSSSSSSSSSSSSSSSS 



SYKES COMPUCORDE 

«PV50 + s 35 SHIPPING 

GREAT CASSETTE RECORDER 

OFFERS 3-6M BIT STORAGE 

TRANSFER RATE OF 500 CH/SEC 

AT 1000 BPI. READ WRITE SPEED 5 IPS RECORDING 

BIT SERIAL. BIPHASE ENCODED WITH VARIABLE 
8 BLOCK LENGTHS UNDER PROGRAM CONTROL 
I 




TECHTRAN 4100 $595 

TAPE CASSETTE DRIVE + $35 SHIPPING U.S. 
VERSATILITY PLUS IS YOURS WITH THIS ORIGINAL 
COST $3200 DRIVE. JUST PLUG IT IN RS232. CAN 
RUN DIRECTLY FROM TERMINAL INDEPENDENT OF CPU. 
FULL EDIT CAPABILITY, ALL FUNCTIONS UNDER SOFT- 
WARE CONTROL. LIMITED QUANTITY AVAILABLE 

TALLY T132 

7 x 8 DOT MATRIX IMPACT 

PRINTER HAS A SINGLE 

LINE DYNAMIC MEMORY AND 

A UNIVERSAL INTERFACE TO 

ACCEPT PARALLEL DATA, FORMS 

TO lit- 7/8 IN. SIDE, SIMPLE PRINTING MECHANISM 

USES 132 SOLENOID HAMMERS AND TWO STEPPER MOTORS 

FOR 100 LPM, 132 COLUMNS, 64 CHARACTERS 

$950 




+ SHIPPING 150 lb. 



1 



-DAY SHIPMENT ' F *° H ° UR 
KITS, MPUs, CPUs ST0CK ' 



LSI ADH 3 KIT $875 

UPPER/LOWER CASE OPTION 100 
10 KEY NUMERIC PAD 150 

IHSAI..8080A KIT 5SL0T..S59S 
8080A KIT 22 SLOT.. 651 
4K MEMORY KIT 139 

VIKING 100 PIN CONNECTOR. . 
HEAVY DUTY. .. 



S 5 



SERIAL I/O KIT 125 

PROM 4-512 KIT 165 

UCRI-1 KIT 59 

CABLE A KIT 18 

SWTPC..68OO KIT $399 



HPA.. 
MPC. 
HPE. . 
MPM.. 
MPP. , 
MPS.. 
MPMb. 



...145 
. .. 40 

... 15 

...80 

...35 

...35 
.14.50 



HPB. . 
MPD.. 
MPF.. 
HPMx. 
MPL. 



40 

35 

30 

AS 
35 



MPAb. 14.50 
MP8b... 30 



MPCb.HPSb.MPLb ea. 9.50 
CONN. SETS MPU/MEM 2.50 
CONN. SETS INTERFC 2 
4KBA.. .. 5 GT6I... 99 
AC30 AUDIO INTRFC 79.50 

PP40. .. . PRINTER 250 

CT 1024 TERM. KIT. .275 

CTI 175 KBD 49.95 

CTP... 15.50 CTS. .3995 

CTCA 15-50 

ALL SWTPC UNITS ARE KITS 




KIM I. .6502 $245 

KIM 2..4K 179 

KIM 3..8K 289 

MANUALS PACKAGE 15 

ICON FLOPPIES 

FF36-1 $1195 

FF36-2 1895 

360-58 300 

S171 H 250 

shipping on kits 

under $100 $5 

over $100 $10 



WRITE FOR OUR 
COMPLETE 
CATALOG 
Covering kits 
used equipment 
and our wide 

range of 
avai lable books 
$ 1 . 00 j 

VISIT OUR STORE 
9 TO 9 WEEKDAYS 
9 TO 6 SATURDAY 




$150 



COMPONENTS FOR 

SYSTEMS 

FEATURES OF THE*MONTH* 

GREEN PHOSPHOR 
VIDEO MONITOR 

TOP QUALITY CRTS FROM A MAJOR VENDOR ... 
NOT JUST A REWORKED TV SET. STANDARD IV 
P TO P COMPOSITE VIDEO INPUT, 10 MHz BAND 25 SHIPPING 
WIDTH, RASTER SCAN 12 x 12 x 13 IN., WITH POWER SUPPLY 
VIDEO AMPLIFIER, DRIVING CIRCUITRY, VENTILATION MUFFIN 
FANS, 7 x 9 IN. HORIZONTAL VIEWING AREA UP TO 2k LINES 
X 80 CHAR., ANTIGLARE i IN. ETCHED GRADIENT DENSITY FACE 
PLATE. P39 GREEN PHOSPHOR FOR BETTER VIEWING EASE, ON/OFF 
BRIGHTNESS CONTROLS, 1 1 5VAC , 60 W. (SPOT SIZE .015 IN. 
NOMINAL) ... TRULY A COMMERCIAL UNIT BUILT TO WORK IN 
A DEMANDING ENVIRONMENT. WE'VE RUN THREE OF THESE OFF 
OUR SwTPC TERMINAL KIT AT ONCE FOR DEMONSTRATIONS. 
**•****• 

^^^^^^^ALLanASR33isand MORE! 

WE'VE SOLD OUT 3 TIMES ON THIS HEAVY-DUTY 
TELETYPEWRITER. THIS SHIPMENT IN GREAT 
CONDITION OFFERS RS232 INTERFACE, QUIET 
OPERATION, 10 CPS BUILT-IN PAPER TAPE 
PRINTER/PUNCH, ELECTRIC TYPEWRITER KEY- 
BOARD WITH ADDITIONAL 10 KEY NUMERIC PAD, 
YOUR CHOICE OF FRICTION OR SPROCKET FEED, 
LIGHTED PLATEN AREA FOR EASY READING , 
STANDARD PAPER AND TAPE, SUPPORTED BY 
OLIVETTI, IMPACT PRINTER GOES UP TO 6 
165 lbCOPIES, VERTICAL SPACING ADJUSTABLE. 

DATAPOINT3300-200* 

THERMAL PRINTER 

SURPRISING LITTLE THERMAL PRINTER USES WELl 

RESPECTED AND FIELD PROVEN NCR EMT-1-AE 

PARALLEL PRINTER WITH ADDITIONAL CIRCUIT 

BOARDS TO PROVIDE SERIAL RS232 INTERFACE, 

PRINTS UP TO 30 CPS. 110 VAC PS. USES WIDELY $475 

AVAILABLE NCR PAPER, 96 CHAR. ASCII, 80 COL., + $ 25 

SOLID STATE SH | PP | NG U-S 




+ SHIPPING 

* 




CRT COMPATIBLE 5 x 7 DOT MATRIX, 
WITH LESS THAN 25 MOVING PARTS. 

DATAPOINT CASSETTE 

3300-300 $195 + $25shipping us. 

SMALL STYLIZED CASSETTE RECORDER SERVES 

AS ADJUNCT BETWEEN CRT TERHINAL AND CPU. ON LINE STORAGE, 
OFF LINE MESSAGE PREPARATION, 450,000 CHAR. PER CASSETTE, 
NO POWER SUPPLY, I/O UP TO 2400 BPS. 





$250 + 7 HP 



75 



KLEINSCHMIDT311 

THIS 30 CHAR/SEC DRUM PRINTER SITS IN A SOUND-PROOF 
ENCLOSURE, 64 CHAR., PARALLEL INPUT, 80 CHAR/LINE, 
ORIGINAL PRICE $2100 WITH ENCLOSURE 



DIGITRONICS D507 



PAPER TAPE TRANSMITTER 
BEAUTIFUL 5' ENCLOSED CABINET 
PROVIDES TREMENDOUS SUPPLY OF GOODIES INCLUDING DIGITRONICS 
2500 PHOTOELECTRIC PAPER TAPE READER, HEAVY DUTY POWER SUPPLY, 
3 MUFFIN FANS, POWER CONTROL PANEL, CIRCUIT BOARDS, RELAYS, 
CABLES. SOME HAVE PAPER TAPE HANDLERS, ALL ON CASTERS 



$95 



SHIPPING 400 lb. 



DATAPOINT SERVO PRINTER IN DESK CONSOLE 

$395 + SHIPPING 285 lb. 



IDEAL UNIT TO BUILD A SYSTEM AROUND. 
BOTH UN I VAC AND SINGER BUILT THESE 
PRINTER MECHANISMS WHICH OPERATE AT 
30 CPS FROM A ROTATING WHEEL. 65 CHAR. 
USES STANDARD PRINTOUT OR TYPEWRITER 
PAPER. PINWHEEL IS INTERCHANGEABLE. 

UN I VAC 0769-06 PRINTER MECHANISM ONLY... $295 
INCLUDES MOTOR/PRINT WHEEL + SHIPPING 751b ■ 




WHEN ORDERING BY MAIL PLEASE WRITE CLEARLY, ADD SHIPPING COSTS, AND BE SURE 
TO WRITE YOUR ADDRESS DOWN. SHIPMENT IN ONE DAY ON KIT ITEMS SUBJECT TO 
AVAILABILITY AND CHECK CLEARANCE ... BANK CHECK ORDERS HANDLED WITH PRIORITY. 



The prokoboard 
from BIM... 



FR0MPR0K0 \-» 
IMSAI 8080 



$14 

2/$25 




4/$44 



the proko 
electronics shoppe 



439 marsh st. 



y. Calif, residents 6% 
. All orders postpaid 

he us sto Mm. ggn i u i s O bispo, ca. 93401 



805/544-5441 




The Proko Paper Tape Reader: A manually operated reader, reads 9-level paper tape into 
any parallel input port. Just supply a light source, grab the tape and pull! 

KITS42 Assemb. $55 



Thinly disguised affiliates of KO Electronics and Surplus, S.L.O., CA 93401 



EDGE CONNcCTORS 

80 Pin WW .125" used $1.50 ea. 10/12.50 

86 Pin Soldertail .156" $3.75 ea. 10/$32 

100 Pin spec WW or Soldertail both fit IMSAI or SSM 

Mother Bd $5.00 ea 10/$44 



82S06 
82S07 
82S11 
82S12 
82S17 
82S23 
82S123 



2.00 82S126 

2.00 82S129 

2.00 82S130 

2.00 82S131 

2.00 74S206 

2.50 74S412 

3.00 74S301 



3.50 74C200 

3.50 8573 

3.95 8574 

3.95 8575 

2.10 8576 

4.00 8577 

3.50 8578 



5.50 
4.50 
5.50 
4.50 
4.50 
3.50 
4.00 



7400 
7401 
7402 
7403 
7404 
7405 
7406 
7407 
7408 
7409 
7410 
7411 
7413 
7414 
7416 
7417 
7420 
7423 
7425 
7426 
7427 
7430 
7432 
7437 
7438 
7440 
7441 
7442 
7443 
7444 
7445 
7446 
7447 
7448 
7450 
7451 
7453 
7454 
7460 
7470 
7472 



.16 7473 

16 7474 

.21 7475 

16 7476 

.18 7480 

.24 7483 

20 7485 

.29 7486 

.25 7489 

.25 7490 

.18 7491 

30 7492 

45 7493 

70 7494 

35 7495 

35 7496 

.20 74100 

.37 74107 

30 74109 

30 74121 

.35 74122 

25 74123 

30 74125 

27 74126 

27 74132 

15 74141 

85 74145 

60 74147 

75 74148 

75 74150 

75 74151 

80 74153 

70 74154 

.80 74155 

25 74156 

25 74157 

25 74160 

20 74161 

.20 74162 

.45 74163 
.40 



.35 

.35 
50 
30 
50 
70 

.90 

40 

2.00 

.45 
75 
50 
50 

.80 
75 

.90 

1.00 

40 

.90 
40 

.50 
70 

.60 

60 

1 00 

1 15 

1 15 
2.35 

2 00 
1 00 

80 
90 
1.00 
1.00 
1 00 
1 00 
1.25 
1 00 
1.50 
1 00 



74164 

74165 

74166 

74170 

74173 

74174 

74175 

74176 

74177 

74179 

74180 

74181 

74182 

74184 

74185 

74190 

74191 

74192 

74193 

74194 

74195 

74196 

74197 

74198 

74199 

74200 

74251 

74284 

74285 

74365 

74367 

74368 

MH0025 

MH0026 

95H90 

2102-1 

32 

64 

1488 

1489 



1.10 
1.10 
1.25 

2.10 

1 50 

1.95 

.95 

90 

90 

90 

.95 

2.50 

.95 

1.95 

2.20 

1.15 

1 25 

.90 

.90 

1 25 

.75 

1 25 

90 

1.75 

1.75 

4.95 

1.75 

4 95 

4 95 

90 

.75 

90 

250 

2.95 

9.95 

1 65 

50.00 

9600 

1.50 

1.50 





KITS BY CYBERCOM A DIVISION OF SOLID STATE MUSIC 




1 
1 

|4Kx8 Static Memories 








64 x 16 VIDEO BOARD Altair 


plug compatible 


display II 


|MB-1 MK-8 board, 


1 usee 2102 or 


eq. PC Board... 


. . $22 j 


32 x 16 or 


64 X 16 


switch selectable 


. Composite and II 


■ Kit $83 










parallel video ports, 


jpper and 


ower case with software. |||| 


jMB-2Altair 

'and wait eye 
*Kit (91L02A 

|MB-4 Imprc 


8800 or IMSAI compatible Switched address 


Kit 










$179.95 II 


.5 usee).... $129.95 








Misc 












>ved MB-2 designed for 


3K "piggy- 


back" 


Altair compatable m 


other board. Roo 


ti for 15 connec-JIH 


| without cutt 


ng traces. PC Board 






. . $30 


tors 11" x 


Vh" (w/o connectors) 


$45 




| Kit 4K .5 


jsec. . 


.$129.95 Kit 8K 


5 usee... 


.$199 


With 15 connectors 


$111. OC 








j MB-3 1702A's Eroms, Altair 8800 & Imsai 8080 co 


mpat- 


Altair extender board (w/o connectors) S9 




J ible Switched add 


ress & wait 


cycles 


2K may be ex- 


With w/w connector 


$13.50 








' panded to 


4K. Kit less Proms 
25 


S6£ 


2K Kit.. 


..$145 














■4K Kit $; 


MODEMS 










$85.00 II 


| MB-6 8Kx8 Switched address and wait assignments. 
| Memory protection is switchable for 256, 512, 1K, 2K, 4K 
|and 8K. 91L02A .5 usee rams. Altair 8800 & IMSAI 
[compatible. Kit $250 Assembled & tested $290 


1702A" EROM 

1702A' 2 usee 

'programming send hex list 

AY5-1013UART 

2513 prime spec, upper or 






S10.00 
8.00 
5.00 II 
$6.95 


Ij/O Boards 

lj70-2 1/0 for 8800, 2 ports, committed 
■other pads for EROMS UART. etc. 
J Kit $47.50 PC Board only 


pads for 3 

$25 


more, 


lowercase 
8080A prime CPU 
8212prime latch buffer 
8224 prime clock gen 
8228 prime sys controller 






11.00 III 

25.00 
•1 00 III 
5.00 l|| 
8.90 II 


r 

| MM1402A 


1.90 


2501B 


$1.25 


1101 


1.25 


74LS00 


.40 


74L00 


.25 


74L78 


90 II 


■ MM1404A 

■ MM5006A 
J MM5013 

' MM5015A 
1 MM5016 


1.90 


2503V 


2.00 


1103 


1.25 


74LS01 


.50 


74L01 


.25 


74L85 


1.40 in 


1.50 


2504V 


2.00 


2101 


4.50 


74LS02 


.40 


74L02 


.25 


74L86 


.75 


2.50 


2505K 


2.00 


2102-1 


1.65 


74LS03 


.40 


74L03 


.25 


74L89 


3.50 


1.50 


2507V 


1.25 


2111-1 


4.50 


74LS04 


.45 


74L04 


.30 


74L90 


1.50 


1.50 


2509A 


2.00 


2112 


4.50 


74LS05 


.45 


74L05 


.40 


74L91 


1 50 


1 MM5017 


1.90 


251 0A 


2.00 


2602 


1.60 


74LS10 


.40 


74L06 


.30 


74L93 


1.70 


1 MM5025 


2.50 


2511 A 


2.80 


4002-1 


7.50 


74LS11 


.50 


74L08 


.40 


74L95 


1.70 


I MM5026 


2.50 


2517V 


1.25 


4002-2 


7.50 


74LS12 


.55 


74L09 


.40 


74L98 


2.80 IN 


| MM 5027 


2.80 


251 8B 


1.50 


MM526C 


1.00 


74LS20 


.40 


74L10 


.30 


74L123 


1.50 HI 


| MM5053 

■ MM 5054 

■ MM 5055 
j MM 5056 
[ MM5057 
' MM5058 
• MM5314 


1.50 


2519B 


2.80 


MM526 


1.00 


74LS22 


.45 


74L20 


.35 


74L154 


2.00 l|| 


1.90 


2521V 


1.50 


MM526; 


1.00 


74LS27 


.45 


74L26 


.40 


74L164 


2.50 


1.90 


2522V 


2.00 


7489 


2.00 


74LS30 


.40 


74L30 


.40 


74L165 


2.50 


2.80 


2525V 


2.80 


74200 


4.95 


74LS42 


1.50 


74L32 


.45 


74L192 


1.25 


2 80 


2527V 


2.80 


74SB9 


3 50 


74LS55 


.40 


74L42 


.50 


74L193 


1.20 HI 


3.50 


2528V 


2.80 


74C89 


3.50 


74LS73 


.65 


74L51 


.35 


MC4044 


2.25 HI 


4.00 


2529V 


2. BO 


74L89 


3.50 


74LS74 


.65 


74L54 


.45 


N8264 


3.50 II 


1 MM5316 


4.50 


2532B 


2.80 


8223 


2.50 


74LS76 


.65 


74L55 


.35 


N8263 


3.50 


1 MM 5320 


5.95 


2533V 


2.80 


F4702 


17.00 


74LS151 


1.55 


74L71 


.30 


N8826 


2.50 


1 MM5554 


1.90 


91L02APC 


2.55 


(baud rate gen 


) 74LS174 


2.20 


74L73 


.55 


DM8131 


2.50 l|| 


1 MM5555 


2.50 


32 each 


2.40 


2.4576 MHZ 


74LS175 


1.95 


74L74 


.55 


8T37 


2.50 


| MM5556 


2.50 


64 each 


2.25 


Crystal 


8.95 


74LS192 


2.85 


74L75 1.20 


8T10 


2.00 HI 



90 Day Guarantee on SSM Products. Kits MB-2. MB-3 
(2K OR 4K). MB-4, MB-6, 10-2 video board and mother 
board with connectors may be combined for a discount of 
10% in quantities of 10 or more. This supercedes the flier 
of 13 Sept. 1976. 



MIKOS 

419 Portofino Dr. 
San Carlos, Ca. 94070 

Please send for xistor, IC & kit list 



For large orders please send money order or cash- j 
iers check to avoid delays in waiting lor checks to 
clear. 

Check or money order only. Calif, resident 6% tax. 
All orders postpaid in U.S. All devices tested prior to i 
sale. Money back 30 day guarantee. Sorry we can 
not accept returned IC's that have been soldered to. 
$10 min. order. Prices subject to change without | 
notice. 




UNIVERSAL POWER SUPPLY 

A unique plug-in supply by Panasonic. Useful 
for calculators, small radios, charging many & 
various small NiCad batteries. Adjustment 
screw plug on the side changes output voltage 
to 4V4, 6, 754, or 9 volts DC at 100 MA. Output 
cord with plug, 6 ft long. 

No. SP-143C $4.50 3/$12 



REGULATED LOGIC SUPPLY 

New from Data Control, 115 volt AC 
input, output of 20 volts DC 5 amps 
positive and 20 volts DC 15 amps nega- 
tive. (2 voltages) Highly regulated and 
filtered with "pot" adjust 10% higher or 
lower. Fully enclosed in steelcase. 
Shipping wgt. 75 lbs. $75.00 



CLOCK KIT $14.00 

Includes all parts with MM5316 chip, 
etched & drilled PC board, transformer, 
everything except case. 

SP-284 $14.00 each 2/$25.00 




PARITY DETECTOR 

New packaged, made for RCA, detects even or odd parity, baud rate 110, 150 or 
134.46. Built-in logic supply for the IC's, operates from standard 115 vac. Control 
panel allows manual or automatic reset mode of operation. Aluminum enclosure (not 
shown), covers the electronics. TTY compatible. 

Ship wgt. 10 lbs. $12.50 



COMPUTER DISPLAY TUBE 

New Sylvania 9 inch CRT, 85 degree deflection, with tinted faceplate. Same as used 
in Viatron systems (buy a spare). With complete specs. 

Ship wgt. 5 lbs. $15.00 



LINEAR by RCA, brand new, gold bond process 



301 

307 

324 

339A 

741 



$ .60 

.52 

1.80 

1.60 

.50 



747 
748 
1458 
3401 
555 timer 



$ .82 
.50 
.96 
.80 
.60 



MM5314 
MM5316 
7001 



$3.00 
3.00 
8.00 



MEMORY SYSTEM $125.00 

New memory system by Honeywell, small . . . 
measures only 9x4x1 inches. 1024 core memory, 
1024 words with 8,9,10 bits/word. Random access, 
with all logic, register, timing, control, core select and 
sense functions in one package. New, booklet of 
schematics and data. Looks like a good beginning for 
a mini-computer. Limited supply on hand. 
Ship wgt 3 lbs. #SP-79 $125.00 




3 Power supplies, transistorized & regulated. 
Made by TRANSISTOR DEVICES 

1 5 volts DC 5 amps . $25.00 

30 volts DC 2 amps 25.00 

1 5 volts DC 4.5 amps 25.00 



sfie&lvnci 



COMPUTER GRADE LOGIC SUPPLY CAPS, BRAND NEW 



47,000 Uf 

32,000 

160,000 

66,000 

1,000 

2,000 



25V 

25 

10 

10 

60 

55 



$2.00 
1.75 
2.00 
2.00 
.90 
1.00 



ST 
ST 
ST 
ST 
AL 
AL 



1,000 
3,300 
1,600 
8,000 
500 



50 
35 
20 
16 
6 



"ST" screwtop . 



.90 
1.25 

.60 
1.25 

.35 
. "AL" axial 



Please add shipping cost on above. 



AL 
AL 
AL 
AL 
AL 



PHONE 617-595-2275 



FREE CATALOG SP-8 NOW READY 



MESHNA P0 Bx 62 E. Lynn Mass. 01904 



BITE 



To get further information on the products advertised in BYTE, fill out the reader 
service card with your name and address. Then circle the appropriate numbers for the 
advertisers you select from this list. Add a 9 cent stamp to the card, then drop it in the 
mail. Not only do you gain information, but our advertisers are encouraged to use the 
marketplace provided by BYTE. This helps us bring you a bigger BYTE. 



fteadep Sewice 



'Reader service inquiries not solicited. 
Correspond directly with company. 



Reader 




Reader 




Reader 


Service 




Service 




Service 


Number 




Number 




Number 


* 


Action Audio Electronics 146 


78 


Digital Group 21 


40 


* 


Advanced Data Sciences 143 


180 


Digital Systems 1 17 


147 


75 


Advanced Microcomputer Prods 148 


47 


Electronic Control Tech 113 


64 


168 


Aldelco 145 


157 


Electronic Warehouse 147 


63 


173 


Anderson Jacobson 145 


56 


E&L Instruments 99 


181 


142 


Associated Electronics 119 


102 


Eltron 151 


* 


149 


Bits & Bytes 143 


9 


Godbout 149 


194 


4 


BITS Inc 129, 130, 131 


* 


lasis 56, 57, 59 


* 


* 


BYTE's Binders 126 


12 


IMSAI 49 


24 


190 


Byte Shop 143 


60 


INTERFACE AGE 120 


26 


126 


Cheap Inc 143 


15 


James 152, 153 


# 


127 


Comptek 141 


130 


JGM Development Labs 143 


27 


207 


Comptek 145 


* 


Kentucky Fried Computers 103 


169 


140 


Computalker 141 


90 


Logical Services 143 


59 


161 


Computer Corner 145 


191 


Lombardi Electronics 146 


29 


143 


Computer Enterprises 141 


124 


McGraw-Hill 15 


30 


« 


Computer Faire 110 


18 


Meshna 159 


99 


83 


Computer Mart NY, LI 113 


182 


MicroGRAPHICS 113 


164 


156 


Computer Place 145 


188 


Microware 121 


96 


141 


Computer Room 109 


119 


Midwestern Sci Inst 47 


121 


208 


Computer Shack 101 


57 


Mikos 158 


82 


138 


Computer Warehouse 157 


112 


MiniTerm 69 


136 


87 


Creative Computing 125 


* 


MITSCIV, 17 


192 


41 


Cromemco 1 


71 


mpi 121 


32 


178 


Cybercom 53 


171 


Mullen 111 


195 


189 


Cybersystems 67 


22 


National Multiplex 71 


193 


185 


DAJEN Electronics 113 


187 


National Semiconductor 22,23 


137 


97 


Data Domain 146 


155 


North Star Computers 31 


35 



Ohio Scientific Inst 65 

OK Tool 85 

Oliver Audio Eng 1 13 

Parasitic Eng 1 15 

Penninsula Marketing 77 

PerCom Data 80 

Peripheral Vision 87 

Polymorphic Systems 75 

Processor Technology 5, 6, 7, 8, 9, 10 

Scelbi 33 

Scientific Research 11 

SD Sales 154 

Smoke Signal Broadcasting 117 

Solid State Sales 155 

Southwest Tech CM 

Sphere CI 1 1 

STM 43 

Sunny Computer Stores 145 

Synchro-Sound Enterprises 45 

Tarbell Electronics 111 

Technical Design Labs 79 

Technical Systems Consul 119 

Tec Mar 127 

TriTek 156 

United Tech Publications 55 

US Robotics 113 

Vector Graphic 60, 61, 103 

Windjammer 150 



6CMG- 

BYTE's Ongoing Monitor Box 



On BOMB Card, 

Article No. ARTICLE 

1 Nico: Sweet Auto Line 

2 Rampil-Breimeir: Digital Cassette Subsystem, Part 1 

3 Welles: Build This Economy Floppy Disk Interface 

4 Bain: Color Displays on Black and White TV Sets 

5 Murphy: Serial Storage Media 

6 Douds: Audible Interrupts for Humans 

7 Burhans: Cub 54, Where Are You? (Mini-O) 

8 Lorn ax: Impossible Dream Cassette Interface 

9 Baker: Microprocessor Update: The F8 System 

10 Rathkey: A MIKBUG Roadmap . . . 

11 Hoegerl: Calculator Keyboard Input 

12 Tomalesky: TTL Loading Considerations 

13 Howerton: Add Some BARC to Your 8080 



PAGE 

12 

24 

34 

44 

50 

54 

62 

82 

88 

96 

104 

122 

132 



BOMBS Away for Nelson, Buschbach 

The results of the November BOMB 
analysis were as follows: First prize of $100 
goes to Peter Nelson for his article "Build 
the Beer Budget Graphics Interface," second 
prize of $50 goes to Thomas R Buschbach 
for his article "Add This Graphics Display to 
Your System." This prize is a monthly 
award based on your votes as a reader. Fill 
out the handy card between pages 128 and 
129 with your evaluation of this month's 
articles and you'll help determine who wins 
February's contest as will be announced in 
the May BYTE. For this issue, the Ides of 
March is the cutoff date: All February 
BOMB evaluations must be received at our 
office by March 15 1977." 



160 




QKK -% ^eat 



The NEW Sphere DOS- a Real Tiger!! 



When we decided to redesign our already successful Disk Operating System, we asked ourselves how 
we would want it done. Based on a year of solid experience building, shipping and supporting a good 
DOS, we decided we would want our new DOS to be able to: 

provide a complete Editor usually found only with minis 
. offer a full-blown Assembler (not just a small mnemonic set) 
handle variable-length files 

recognize and handle both stream and block-oriented files 
deal with multiple devices of several types 
operate on both our 300 and 500 systems. 

So, we designed the all-new Sphere DOS, and we have a lot of good reasons for calling it a tiger! It is 
a truly remarkable DOS . . . worth checking into. Once you do, we think you'll find it easy to make 
the decision to 

PUT THIS TIGER ON YOUR TEAM!!! 



LANGUAGE 

STORAGE REQUIREMENT 
OPERATING ENVIRONMENT 
CONVENIENCE PROGRAMS 
PROVIDED 

PERIPHERALS SUPPORTED 
STRUCTURE 



DOS SPECIFICATIONS 

Motorola M6800 Assembler 

5K Bytes 

Sphere 300 and 500 Series Systems 

Editor, Debugger, Assembler, Set of File-manipulating Commands (macro- 
like operations) 

CRT, Keyboard, Floppy Disk Drive, TTY 
Uniform, interrupt-driven I/O 



Personal and commercial computer 
product distributorships available. 
For information call 801-292-8466. 



J CORPORATION 

940 North 400 East 

North Salt Lake, Utah 84054 • (801) 292-8466 



Now you can buy an 

Altair*8800b or an Altair 

680b computer right off 

the shelf. Altair plug-in 

boards, peripherals, 

software and manuals 

are also available. 

Check the list below 

for the MITS 

dealer in your area. 




off the 



RETAIL COMPUTER STORE. INC 
Tim & Susanne Broom 
410 NE 72nd SI 
SEATTLE. WA 98115 
(206) 524-4101 

COMPUTER KITS (S. F area) 
Pete Roberts 
1044 University Ave 
BERKELEY, CA 94710 
1415) 845-5300 

THE COMPUTER STORE 

(Arrowhead Computer Co ) 

Dick Heiser 

820 Broadway 

SANTA MONICA, CA 90401 

(213) 451-0713 

GATEWAY ELECTRONICS. INC. 
George Mensik OF COLORADO 

2839 W 44th Ave 
DENVER, CO 80211 
(303) 458-5444 

COMPUTER SHACK 
Pete Conner 
3120 San Mateo NE 
ALBUQUERQUE, NM 87110 
(505)883-8282, 883-8283 



GLOBAL ENGINEERING CO 
5416 South Yale 
TULSA, OKLA, 74145 
(918)452-2567 

COMPUTER PRODUCTS UNLIMITED 

Harry & Margaret Mohrmann 

4216 West 12th 

LITTLE ROCK. AR 72204 

(501) 666-2839 

GATEWAY ELECTRONICS, INC 
Harry & Margaret Mohrmann 
Lou Elkins, Stuart Bartfield 
8123-25 Page Blvd. 
ST. LOUIS, MO 63130 
(314)427 6116 

CHICAGO COMPUTER STORE 

Lou Van Eperen 

517 Talcott Rd 

PARK RIDGE, IL 60068 

(312) 823-2388 

THE COMPUTER ROOM 
3938 Beau D'Rue Drive 
Eagan, MN 55122 
Dale Hagert, Bob Raemer 
(612)452-2567 



BYTE'TRONICS 
John & Stan Morrow 
Suite 103 
1600 Hayes St 
NASHVILLE, TN 37203 
(615)329-1979 

THE COMPUTER SYSTEMCENTER 
Jim Dunion, Rich Stafford, 
Steven Mann, Ron Roberts 
3330 Piedmont Road 
ATLANTA, GA 30305 
(404) 231-1691 



THE COMPUTER STORE, INC, 
Sid Halhgan 
120 Cambridge St. 
BURLINGTON, MA 01803 
(617) 272-8770 
Jelf Feldman, Service Dept. 

THE COMPUTER STORE OF NEW 

Bob Arning 

55 West 39th St 

NEW YORK, NEW YORK 10018 

(212) 221-1404 



THE COMPUTER STORE, INC. (Hartford area) 
George & Susan Gilpatnck 
63 South Main Street 
WINDSOR LOCKS. CT 06096 
(203)627-0188 

MICROSYSTEMS (Washington, DC) 
Gloria & Russell Banks 
6605A Backlick Rd. 
SPRINGFIELD. VA 22150 
(703) 569-1110 

THE COMPUTER STORE 
Stephen Payne 

1114 Charleston National Plaza 
CHARLESTON, W VA. 25301 
(304) 343-4607 

MARSH DATA SYSTEMS 
Don Marsh 
ORK 5405 B Southern Comfort Blvd 
TAMPA, FL 33614 
(813) 886-9890 



THE COMPUTER STORE OF 
Peter Blond ANN ARE 

310 East Washington Street 
ANN ARBOR, Ml 48104 
(313)995-7616 



OR 



m 






DDQCjls: